单位时间内限制同一个IP的浏览次数

时间:2021-05-15 12:33:12 类型:PHP
字号:    

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


<