response->format = \yii\web\Response::FORMAT_JSON; return [ 'message' => 'API test Ok!', 'code' => 100, ]; // return $this->render('index'); } /** * Displays homepage. * * @return mixed */ public function actionPage() { \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $params=Yii::$app->request->get(); unset($params['r']); // var_dump($params);die; // die; $signature = $params["signature"];//本地签名 $timestamp = $params["timestamp"];//时间戳 // $params = $_GET["params"]; //valid signature , option if($this->checkSignature($params,$timestamp,$signature)){ return [ 'message' => 'signature test Ok!', 'code' => 100, ]; }else{ return [ 'message' => 'signature test fail!', 'code' => 201, ]; } } /** * Displays homepage. * * @return mixed */ public function actionGetsignature() { \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; $params=Yii::$app->request->get(); $signature = $params["signature"];//本地签名 $timestamp = $params["timestamp"];//时间戳 unset($params['r'],$params['signature']); //valid signature , option if($this->checkSignature($params,$timestamp,$signature)){ return [ 'message' => 'signature test Ok!', 'code' => 100, ]; }else{ return [ 'message' => 'signature test fail!', 'code' => 201, ]; } } private static function getSign($params, $appkey, $appSecret, $time) { $sign = ''; if (!empty($params)) { ksort($params); $string = http_build_query($params); $result = md5($appkey . $string . $appSecret . $time); $sign = strtoupper($result); } return $sign; } private function checkSignature($params,$timestamp,$signature) { define("APP_ID", "disanbo"); define("APP_SECRET", "di~sanbo1"); $appkey = APP_ID; $appSecret = APP_SECRET; $sign= $this->getSign($params, $appkey, $appSecret, $timestamp); if( $sign == $signature ){ //do something return true; }else{ return false; } } }