我有一些聊天/论坛应用程序,使用jquery ajax使用定期轮询(每15秒)检查新消息.我想知道我是否可以通过加载几个相同的浏览器实例(包含大量选项卡)来解决那些试图"有趣"的用户问题,这些实例都指向同一个应用程序.每个选项卡都发送一个ajax请求,如果多个用户开始做同样的事情,它可能会溢出服务器.
我会在一个表中存储会话,以及最后的访问时间和IP地址,只要用户不使用相同的浏览器,它就可以正常工作.我可以存储使用ajax POST或GET请求发送的唯一标识符,但如果常规(非滥用)用户刷新其页面,则会产生问题,然后创建新的标识符.
这还不是一个真正的问题,但在有人想到滥用这样的系统之前更好地抓住它:)任何想法如何做到这一点?
我有类似的问题。现在我强制所有用户登录(这意味着我有他们的电子邮件)。此外,我还设置了每个帐户的连接限制和每个连接的请求限制,在 5 次溢出后,我要求用户输入验证码,然后我会阻止帐户 30 分钟,并发送带有密码恢复链接的电子邮件。这不是一个明确的解决方案,但目前它对我有用。
更新:
最简单的方法是使用 cookie 或会话存储。我使用cookies。算法很简单:
microtime(true) + $delay和 mysql
decimal(14,4))。发送给用户对于每个请求:
microtime(true)意味着客户端发送请求频繁,因此请自行决定要做什么,例如增加标记microtime(true) + $delay + $penalty或删除整个会话或触发错误。该行为取决于您的应用程序。| 归档时间: |
|
| 查看次数: |
344 次 |
| 最近记录: |