时间:2021-07-01 10:21:17 帮助过:5人阅读
* @link http://www.jieone.com/
*/
class Token extends RSA{
/**
* 客户端唯一ID
*/
private $date=0;
private $clientID="abccccc";
/**
* 系统access_token,即要保存于客户端的数据
*/
private function sys_access_token(){
$array=array(
'clientID'=>$this->clientID,
'date'=>$this->date
);
$sys_access_token = json_encode($array);
//RSA公钥加密
return $this->public_encrypt($sys_access_token);
}
/**
* 保存access_token
*/
public function get_access_token(){
if(empty($_COOKIE['access_token'])){
$this->date=time()-100;
return $this->sys_access_token();
}
return $_COOKIE['access_token'];
}
/**
* 保存access_token
*/
private function save_access_token(){
setcookie("access_token",$this->sys_access_token());
}
public function check(){
$access_token=$this->get_access_token();
//RSA私钥解密
$access_token = $this->private_decrypt($access_token);
//信息已被非法篡改
if(empty($access_token)){
return false;
}
$object=json_decode($access_token);
//2秒只能ajax请求一次,可修改
if ($object->date + 2 > time()){
return false;
}
//保存access_token
$this->date=time();
$this->save_access_token();
return true;
}
}
echo '
频繁刷新试试
';
$Token=new Token();
if(!$Token->check()){
echo '您请求过快,请稍后再试
';
exit();
}
echo '访问正常
';
echo "您当前access_token:".$Token->get_access_token();
以上就介绍了PHP限制频繁请求,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。