当前位置:  编程技术>php

php中用memcached实现页面防刷新功能

    来源: 互联网  发布时间:2014-08-26

    本文导语:  有个新需求要加上去,防止用户频繁刷新页面。具体需求是当用户在一分钟之后内请求指定的页面超过100次,就直接拒绝请求。仔细分析后发现这个功能用memcache来做最方便: 1、以用户IP和被请求的文件名作为KEY值。 2、以memca...

有个新需求要加上去,防止用户频繁刷新页面。具体需求是当用户在一分钟之后内请求指定的页面超过100次,就直接拒绝请求。仔细分析后发现这个功能用memcache来做最方便:

1、以用户IP和被请求的文件名作为KEY值。

2、以memcached的方法increment()来自增记录用户访问次数,increment()是原子性增加,准确。

3、设置set()时指定过期时间为60s,这样就统计一分钟的访问次数。

于是写了个函数放在项目的初始化文件中调用,函数内容如下:

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('Please don't refresh your page!');

      }else{

        $memcache->increment($ipkey);

      }  

 }else{

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

 }

 }

}


    
 
 

您可能感兴趣的文章:

  • Linux中用PHP判断程序运行状态的2个方法
  • 为什么在redhat linux中用php上传文件最大只能500k?
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • php中操作memcached缓存进行增删改查数据的实现代码
  • PHP5.5在windows安装使用memcached服务端的方法
  • linux下安装php的memcached客户端
  • php开源软件 iis7站长之家
  • centos系统为php安装memcached扩展步骤
  • php+memcache实现的网站在线人数统计代码
  • PHP+Memcache实现wordpress访问总数统计(非插件)
  • PHP中使用memcache存储session的三种配置方法
  • ubuntu下搭建php开发环境(nginx+(cgi)php5fpm+memcached+xdebug)
  • 分享一个php memcache类
  • php的memcache类分享(memcache队列)
  • PHP+memcache实现消息队列案例分享
  • php实现memcache缓存示例讲解
  • PHP中的Memcache详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php cc攻击防御与防快速刷新代码
  • php实现cc攻击防御和防止快速刷新页面示例
  • php实现保存submit内容之后禁止刷新
  • php后台经常提示无法连接mysql 刷新后又可以访问的解决方法
  • php与ajax实现页面自动刷新
  • php防止刷新与重复提交实例代码
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例
  • php服务器探针显示php服务器信息
  • php安装完成后如何添加mysql扩展
  • PHP缓存加速器 Alternative PHP Cache (APC)
  • PHP的substr() 函数用法
  • PHP源文件加密工具 PHP Screw
  • PHP介绍及学习网站推荐
  • PHP自动化测试 PHP-QAT
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • PHP 的 HTTP 客户端库 PHP Buzz
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • PHP 调试工具 PHP_Dyn


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3