PHP根据session控制一定时间内form表单提交次数


这种写法以及函数的用法是有些奇葩,但是能用就行啦

/** * 根据session控制form表单一定时间内提交次数 * * @date2020-01-17 * @return boolean */ public function submit_nu() {// 获取客户端ip $ip = 'ip'.ip_2_long(request()->ip()); // 获取当前时间戳 $now = time(); // 开始循环判断 if (! empty(request()->session()->get($ip))) { // 两分钟间隔内 $last_submit_time = request()->session()->get($ip.'.last_submit_time'); $submit_times = request()->session()->get($ip.'.submit_times'); if ($now - $last_submit_time < 60 * 2) { // 判断两分钟内的次数 3次 if ($submit_times && $submit_times >= 3) { return false; } else { // 小于3次 if ($submit_times) { session([$ip.'.submit_times'=>$submit_times+1]); } return true; } } else { // 两分钟间隔外 session([$ip.'.last_submit_time'=>$now]); session([$ip.'.submit_times'=>1]); return true; } } else { // 第一次 session([$ip.'.last_submit_time'=>$now]); session([$ip.'.submit_times'=>1]); return true; } }

【PHP根据session控制一定时间内form表单提交次数】

    推荐阅读