日期:2014-05-17  浏览次数:20476 次

如何在服务器限制允许某个请求多少次


能不能用PHP实现,限制服务器每2秒接受单个IP最多5次请求。

如何实现呢


------解决方案--------------------
按理说应该可以的。可以判断来路和ip
------解决方案--------------------
最简单的方法就是计算最后一次访问时间和最新一次访问时间的访问次数.当然要写入数据库
------解决方案--------------------
用PHP实现,就是 session
------解决方案--------------------
session_start();
if(isset($_SESSION['lasttime']) && time()-$_SESSION['lasttime'] < 2)
exit;
else
$_SESSION['lasttime'] = time();

------解决方案--------------------
一般的说 IP 和 SESSION 是捆绑在一起的

几秒内的访问量超过几十万的
这是不肯能出现的现象,如这有这种情况,你的服务器早就崩溃了

------解决方案--------------------
如果不设置COOKIE的时间的话,浏览器关闭SESSION失效
------解决方案--------------------
探讨
对了,SESSION和浏览器的开启到关闭的实际关系是怎么样的,

------解决方案--------------------
探讨

引用:
一般的说 IP 和 SESSION 是捆绑在一起的

几秒内的访问量超过几十万的
这是不肯能出现的现象,如这有这种情况,你的服务器早就崩溃了


哦哦,谢谢指导!!
简单的几句好像就解决问题了,我本来是打算存在数据库里,每一个IP对应一条记录,然后有访问量,时间等等字段的。。
其实很好奇,前辈说的崩溃,大概多少算是正常的,对这方面真的一窍不通。。
最……