最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php中用memcached實現(xiàn)頁面防刷新功能

 更新時間:2014年08月19日 09:49:55   作者:藍色夏威夷  
這篇文章主要介紹了php中用memcached實現(xiàn)頁面防刷新功能,這是一個比較安全、穩(wěn)定的防刷新方案,需要的朋友可以參考下

有個新需求要加上去,防止用戶頻繁刷新頁面。具體需求是當用戶在一分鐘之后內(nèi)請求指定的頁面超過100次,就直接拒絕請求。仔細分析后發(fā)現(xiàn)這個功能用memcache來做最方便:

1、以用戶IP和被請求的文件名作為KEY值。

2、以memcached的方法increment()來自增記錄用戶訪問次數(shù),increment()是原子性增加,準確。

3、設置set()時指定過期時間為60s,這樣就統(tǒng)計一分鐘的訪問次數(shù)。

于是寫了個函數(shù)放在項目的初始化文件中調(diào)用,函數(shù)內(nèi)容如下:

function requestCount(){ 

 $patharr = pathinfo($_SERVER['PHP_SELF']);

 $filename = explode('?',$patharr['basename']);//獲取當前文件名

 if( in_array($filename['0'],array('index.php','login.php','password.php')) ){

 global $memcache;

 $clientip = get_client_ip();

 //使用長整型IP和文件名生成KEY

 $ipkey = 'C'.sprintf("%u", ip2long( $clientip )). $filename['0'] ;

 if( $visitCount = $memcache->get($ipkey) ){  

      if($visitCount == 100){

        die('<h1>Please don\'t refresh your page!</h1>');

      }else{

        $memcache->increment($ipkey);

      }  

 }else{

    $memcache->set($ipkey,1,0,60);

 }

 }

}

相關文章

最新評論

甘谷县| 河南省| 远安县| 石林| 富阳市| 鹿邑县| 牡丹江市| 衡阳县| 余姚市| 拜城县| 宁夏| 商洛市| 大悟县| 荔浦县| 凌海市| 宣威市| 巴彦淖尔市| 昌吉市| 屏山县| 三河市| 毕节市| 赣榆县| 临沧市| 邹城市| 土默特右旗| 资溪县| 乐都县| 泰宁县| 洛扎县| 临海市| 甘孜县| 武强县| 开化县| 瑞安市| 日照市| 汉寿县| 绥阳县| 日喀则市| 磴口县| 开封市| 武冈市|