php api 接口 基本的验证
1.加密方式
token = md5(time+salt)
(salt 约定: ECCBC87E4B5CE2FE28308FD9F2A8BAF3; time时间戳, 10分钟过期)
2.Demo
http://search.checheng.com/query?time=1476092844&token=2822b05a9f1303c4ef52264abfdc3b84
const TOKEN_SALT = 'ECCBC87E4B5CE2FE28308FD9F2A8BAF3'; //api 接口盐值
private static $debug =false; //是否调试
public function beforeAction($action)
{
#echo md5('1490943609'.'ECCBC87E4B5CE2FE28308FD9F2A7BAF3');exit;#573ea66a0ea56a76520ff53da8e5c041
$time = Yii::$app->request->get('time');
$token = Yii::$app->request->get('token');
self::$debug =Yii::$app->request->get('debug','false');
$result = [
'data' =>[],
'msg' =>'',
'status' =>1,
];
//判断验证
if(empty($time) || empty($token)){
$result['status'] =0;
$result['msg'] ='缺少验证';
}
elseif(time()-600>$time){
$result['status'] =0;
$result['msg'] ='请求超时';
}elseif($token!=md5($time.self::TOKEN_SALT)){
$result['status'] =0;
$result['msg'] ='token错误';
}
if($result['status']==0){
self::returnResult($result);
}else{
return parent::beforeAction($action); // TODO: Change the autogenerated stub
}
}