PHP接口防刷

    技术2025-07-24  13

    PHP 接口防刷 /-------在首页请求设置token,再请求接口中请求一次后设置为空,多次请求不能成功,除非重新加载首页----------------/ 方法一 public function index(){

    session('token',$user['token']); return view('index'); } public function fenXiang(Request $request){ $parm = $request->param(); $openid = $parm['open_id']; if(empty(session('token'))){ return $this->getSuccess(false, '请稍后再进行操作'); } $status = Db::table('ggle_user_prize_num')->where('open_id',$openid)->setInc('num',1); session('token',null); return $this->getSuccess($status, '操作成功'); }

    方法2 缓存锁

    public function fenXiang(Request $request){ $parm = $request->param(); $openid = $parm['open_id']; if(!empty(Cache::get('token'))){ return $this->getSuccess(false, '请稍后再进行操作'); } Cache::set('token',mt_rand(1111,9999),300); $status = Db::table('ggle_user_prize_num')->where('open_id',$openid)->setInc('num',1); return $this->getSuccess($status, '操作成功'); }
    Processed: 0.464, SQL: 10