|
|
1
3
为了防止在我的一些内部ajax内容上出现“恶意”活动,我添加了两个GET变量,一个是日期(通常是纪元),然后我将该日期添加一个salt并将其删除,还发布了一条消息,如果日期(重新刷新时)与哈希不匹配,那么我会删除请求,否则会实现它。
使用基于IP/cookie的限制的问题是两者都可以绕过。 使用具有良好的、加密性强的salt(比如Steve Gibson的一个“完美密码”)的令牌方法 https://www.grc.com/passwords.htm )这将需要大量的时间(几十年的规模)才能可靠地预测该方法,并确保一定的安全性。 |
|
|
2
0
您可以将请求的数量限制为每10秒2次左右(真正的用户可能会输入一个使用过的名称,稍加修改,然后重试)。有点像这样,你不会每30秒评论一次以上。 如果你真的很担心,你可以采用上面的方法,计算他们在某个时间段内尝试了多少次,如果超过了阈值,就把他们踢到另一个页面。 |
|
|
3
0
验证为:“此用户名已被使用”?如果您限制每秒的请求数,应该会有所帮助 |
|
|
4
0
解决这一问题的一种常见方法是在请求中添加延迟。如果请求被发送到服务器,请等待1(或更长)秒进行响应,然后使用结果进行响应(如果名称有效或无效)。 增加一个时间限制并不会真正影响到用户不去尝试抓取,而且你可以免费获得每分钟60个请求的限制。 |
|
|
5
0
基于UnkwnTech提供的答案,这是一些非常可靠的建议。 您可以更进一步,让客户端执行一些计算来创建返回哈希-这可能只是一些简单的算术运算,比如对一些数字进行子运算、添加数据并乘以2。 添加的arithmatic确实意味着开箱即用的用户名抓取脚本不太可能工作,并迫使客户端使用更多的CPU。 |
|
|
Lyres · Ruby存储查询数据 8 年前 |
|
|
em1031 · 查找上一期价值的最快方法? 8 年前 |
|
|
DanielWoodward · MongoDB$查找值返回数组 8 年前 |
|
|
Milly B. · Google sheets查找和汇总 8 年前 |
|
|
C_psy · 将匹配列从长转换为宽 8 年前 |
|
|
Luis Costa · Mongo 3.6多条件聚合查找 8 年前 |