PHP token检验
1、根据用户传的参数,加上约定的秘钥,然后md5生成最简单的token校验。
2、代码:
public function valiAction(){
$post = $_POST;
if(empty($post)) die("参数缺失!");
if (!isset($post['_token'])) die("请传入token的值!");
$key = "20181015"; //自定义秘钥,建议写进配置
$_token = $post["_token"];
unset($post["_token"]); //unset($a1, $a2, $a3); 一次释放多个变量
if(empty($post)) die("请传参!");
krsort($post); //根据键,以降序对关联数组进行排序[保持索引关系]
$str = "";
foreach ($post as $k => $v){
$str .= "{$k}={$v}&";
}
$str .= $key;
$token = strtolower(md5($str));
if($token != $_token){
die('_token错误!');
}
die("校验成功!"); //return true;
}