单位时间内限制同一个IP的浏览次数 (基于TP5框架)
$sessonName = md5($id.getRealIP()); //同一个id与ip绑定一起 $hitTime = session($sessonName); if(empty(session("?$sessonName")) || time() - $hitTime >= 300){ session($sessonName,time()); Db::name('news')->where('id', $id)->setInc('views'); //浏览次数自增1 ; setDec: 自减 };
function getRealIP(){ $forwarded = request()->header("x-forwarded-for"); if($forwarded){ $ip = explode(',',$forwarded)[0]; }else{ $ip = request()->ip(); } return $ip; }