PHP防止多次请求刷红包的方法$signarray=array(); $signarray['name']='wefwf'; $time=time(); $signarray['time']=$time; $signarray['phone']='wef'; $signcreate=$this->str_encrypt($signarray); $this->assign('time', $time); $this->assign('signcreate', $signcreate); $this->display();//测试是不是能重复请求接口public function signverifytest(){ $issign=$this->verify($_POST); if(!$issign){ echo json_encode(array('success'=>0,'msg'=>'签名验证失败','data'=>'')); exit(); }else{ echo json_encode(array('success'=>0,'msg'=>'签名验证成功','data'=>'')); exit(); } }//签名验证 public function verify($parameters) { //如果sign不一致 签名失败 if ($parameters['sign'] != $this->str_encrypt($parameters)) { return 0; } else { return 1; } } //新版加密 public function str_encrypt($parameters) { unset($parameters['sign']); $parameters['key']='mykey'; ksort($parameters); $signPars = $this->url_build($parameters); $signPars=trim($signPars,'&'); return strtolower(md5($signPars)); } //新版字符串拼接 public function url_build($parameters) { $signPars = ''; foreach ($parameters as $k => $v) { if (isset($v)) { $signPars .= $k . '=' . $v . '&'; } } return $signPars; }ps:主要是利用 看不到PHP代码 所以自然看不到time和sign的生成算法 所以就防止了刷红包
查看原文:http://newmiracle.cn/?p=1085
PHP防止多次请求刷红包的方法
最新推荐文章于 2021-03-09 18:47:23 发布