2012-06-07 79 views
0

如何确定客户端浏览器是否支持会话?确定会话是否已启用客户端

我正在做一个反泛滥的脚本 - 我想限制脚本的操作为每个操作5秒,并且我想使用客户端会话存储unix时间,但首先我会有检查它们是否被启用。这有可能做到吗?

+0

客户端会话?你是指一个JS数据库? –

+0

如果没有,他们仍然可以淹没你。奇怪的方法。什么被“淹没”? – 2012-06-07 23:34:05

+0

对好用户(无意的行为)或不好的用户(故意行为)是否是防洪? – zerkms

回答

0

我假设你试图限制每个客户端每5秒运行一次以上的脚本。

Http是一个无状态协议,PHP依靠cookie值(或参数值)来初始化服务器端的会话。了解这一点,单独使用会话不足以阻止用户每5秒钟不止一次地淹没您的脚本。用户客户端可以简单地不发送请求中的cookie或会话ID参数,并且您必须将其视为新会话。您将不得不使用其他识别用户会话的方法。使用请求IP地址是一个好的开始,但可能不适合您(特别是因为许多用户可以拥有相同的面向公众的IP)。

0

您可以使用其他方法。在每个页面加载中,创建一个新的cookie(如果它尚不存在)。当你使用脚本时,你只需检查cookie是否存在,如果它存在并且值正确,那么一切都很好。否则,您将禁用脚本运行。

+0

这将如何防止洪水? – zerkms