有被添加到防止用户频繁刷新页面有了新的要求,具体的要求是,当用户请求一个指定的页面超过100次,一分钟内,请求直接拒绝。仔细分析后,发现这个功能是最方便使用memcache。

1,使用用户IP和所请求的文件名作为键值。

2,增量()在缓存方法()来自增长的用户访问数量,增量()是一个原子的增加,准确。

3,设置SET()时,指定的过期时间为60秒,以便访问一分钟的计数。

然后在项目的初始化文件中调用一个函数,函数的内容如下所示:




功能requestcount(){

patharr美元=是($ _server { 'php_self});

为文件名=爆炸($ patharr { 'basename}); / /获取当前文件名

如果(in_array($文件名{ 0},阵列('index。php,'login。php,'password。php))){

全球$ memcache;

clientip美元= get_client_ip();

使用长整数IP和文件名生成键

ipkey美元= C。sprintf(%

如果($ visitcount =美元Memcache ->得到($ ipkey)){

如果($ visitcount = = 100){

死(请不要刷新你的页面!;

其他{ }

$ Memcache ->增量($ ipkey);

}

其他{ }

$ Memcache ->设置(ipkey美元,1,0,60);

}

}

}