我们有Ajax调用来验证create页面上的UserID,这样那里的用户才能知道他们选择的ID是否可用。
我们公开了这个URL:https://mydomain.com/validateId?id=<user enter value>
最近,一些黑客向这个URL发送大量并发请求,我们观察到CPU上的负载非常高,甚至达到100%
在Ajax调用的操作中,我们没有任何可用的会话标识符。我们能用什么技术来防止这么多的直接并发呼叫?有什么方法可以识别用户是否正在从create页面触发这些Ajax调用,而不是直接使用一些恶意工具呢?
发布于 2013-07-07 09:15:20
看起来你被一个坚定的攻击者锁定了,所以你应该立即开始实施限速措施。我强烈建议使用fail2ban或类似的解决方案。
查看您的数据库和日志,找出来自同一个IP地址的注册尝试的平均次数,然后加倍,并将其用作Fail2ban配置中的限制。
至于确定请求的来源,我不知道有任何方法可以可靠地识别请求的来源。攻击者总是能够伪造来自客户端的任何请求头(如HTTP_X_REQUESTED_WITH或HTTP_REFERER),因此不要依赖于此。
https://security.stackexchange.com/questions/38550
复制相似问题