public function handle_request_internal() { $rec = json_decode($this->_params['log'], true); $logger = Util_Nlog_NLogger::get_instance(); $log_force = APF::get_instance()->get_config('log_force', 'nlogger'); foreach ($rec as $v) { $data = json_encode($v); $logger->log('action', $data, $log_force); } return array('status' => 'ok', 'data' => 'success'); }
public function before() { $params = APF::get_instance()->get_request()->get_parameters(); if ($params['doc'] == 1) { return self::STEP_CONTINUE; } $request_uri = isset($_SERVER['ORGINAL_REQUEST_URI']) ? $_SERVER['ORGINAL_REQUEST_URI'] : $_SERVER['REQUEST_URI']; $pos = strpos($request_uri, '?'); if ($pos !== false) { $request_uri = str_replace("/mobile-ajk-broker", '', substr($request_uri, 0, $pos)); } else { $request_uri = str_replace("/mobile-ajk-broker", '', $request_uri); } $app_key = $_SERVER['HTTP_KEY']; $shared_keys = APF::get_instance()->get_config('signature', 'mobile_api'); $shared_key = $shared_keys[$app_key]; $request_body = file_get_contents('php://input'); // 先尝试使用新的方法验证签名 $debug_nocheck_flag = APF::get_instance()->get_config('debug_nocheck_flag'); $sig = $this->signature($request_uri, $_GET, $_POST, $request_body, $shared_key); //echo "<pre>";print_r($sig);exit; if ($sig == $_SERVER['HTTP_SIG'] || isset($params["is_nocheck"]) && $params["is_nocheck"] == 1 || $debug_nocheck_flag) { return self::STEP_CONTINUE; } else { apf_require_class('Util_Nlog_NLogger'); $logger = Util_Nlog_NLogger::get_instance(); $log_force = APF::get_instance()->get_config('log_force', 'nlogger'); $data['HTTP_KEY'] = $app_key; $data['HTTP_SIG'] = $_SERVER['HTTP_SIG']; $data['sig_finalstr'] = $this->_sig_finalstr; $data['sig'] = $sig; $data['request_uri'] = $request_uri; $data['REQUEST_GET'] = $_GET; $data['REQUEST_POST'] = $_POST; $data['request_body'] = $request_body; $key = 'signatrue_' . date("Y-m-d H:i:s"); $str = json_encode(array($key => $data)); $logger->log('apierror', $str, $log_force); } echo json_encode(Util_MobileAPI::error(Const_APIStatus::E_SIG_INVALID)); return self::STEP_EXIT; }