ThinkPHP5之Redis限制重复提交(限制手速党1秒内重复提交,可以稍作修改进行延长限制,比如多设置几个time()+1 +2+3的redis)

    技术2025-02-27  15

    use think\cache\driver\Redis; $post=$this->request->post(); $redis=new Redis(); $post['time'] = time(); // 转md5 $key = "checkRepeat:" . md5(json_encode($post)); if($redis->has($key)){ return json(['code'=>400,'msg'=>'正在处理中,请勿重复提交!']); } // 缓存时间(10秒) $redis->set($key, 1, 10);

    升级版,比上面管用

    $post=$this->request->post(); $time=time(); $key = "checkRepeat:" . md5(json_encode($post));// 转md5 if($redis->has($key)){ $data=$redis->get($key); $t=time()-$data; if($t<5){ return json(['code'=>400,'msg'=>'5秒之内只能提交一次!']); } } $redis->set($key, $time, 10);// 缓存时间(10秒)

    点击链接加入群聊【ThinkPHP56小功能】:https://jq.qq.com/?_wv=1027&k=Z0c641WP 

    Processed: 0.009, SQL: 9