单位时间内限制同一个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;
}