您好,欢迎访问一九零五行业门户网

PHP结合Redis来限制用户或者IP某个时间段内访问的次数

这篇文章介绍的内容是关于php结合redis来限制用户或者ip某个时间段内访问的次数 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
$redis = new redis(); $redis->connect('127.0.0.1', 6379); //获取客户端真实ip地址 function get_real_ip(){ static $realip; if(isset($_server)){ if(isset($_server['http_x_forwarded_for'])){ $realip=$_server['http_x_forwarded_for']; }else if(isset($_server['http_client_ip'])){ $realip=$_server['http_client_ip']; }else{ $realip=$_server['remote_addr']; } }else{ if(getenv('http_x_forwarded_for')){ $realip=getenv('http_x_forwarded_for'); }else if(getenv('http_client_ip')){ $realip=getenv('http_client_ip'); }else{ $realip=getenv('remote_addr'); } } return $realip; } //这个key记录该ip的访问次数 也可改成用户id $key = get_client_ip(); //该key记录访问的次数,目前是以ip为例,也可以把用户id作为key,如userid_123456 //限制次数为3次。 $limit = 3; $check = $redis->exists($key); if($check){ $redis->incr($key); $count = $redis->get($key); if($count > 3){ exit('已经超出了限制次数'); } }else{ $redis->incr($key); //限制时间为60秒 $redis->expire($key,60); } $count = $redis->get($key); echo '第 '.$count.' 次请求';
相关推荐:
php操作使用redis常用方法代码和例子大全
php-redis 的session操作
以上就是php结合redis来限制用户或者ip某个时间段内访问的次数的详细内容。
其它类似信息

推荐信息