是否可以创建在服务器外部执行的脚本, 或者使用浏览器插件,例如它会自动填写表单值,然后提交表单以供服务器解析吗?通过这种方式,三分钟内十亿个虚假账户可以很容易地注册,想象一下facebook不会使用任何人类验证码,浏览器添加执行表单提交并插入从本地数据库检索到的val以获取新电子邮件到关联,因为这是一个检查 - 没有重复的电子邮件,每天可以创建成千上万的假账户?
防止虚假帐户的最佳方法是什么?甚至想象一个旋转的ips中心的场景,人类注册只是为了扼杀数据库,在一年内实现了3千万到5千万个账户。感谢
答案 0 :(得分:3)
这在Security.Stackexchange.com网站上可能更好,但是......
根据OWASP Guide to Authentication,CAPTCHAs实际上是一件坏事。它们不仅不起作用,还会产生额外的麻烦,但在未来的情况下(根据OWASP)它们是非法的。
CAPTCHA
CAPTCHA(完全自动化图灵测试以告诉人类和计算机除外)在任何禁止的司法管辖区内都是非法的 歧视残疾公民。这基本上是 全世界。虽然CAPTCHAs似乎很有用,但实际上它们是微不足道的 使用以下任何一种方法打破:
•光学字符识别。最常见的CAPTCHA可以使用专家解决 CAPTCHA打破OCR软件。
•打破测试,免费访问foo,>其中foo是理想的资源
•支付某人解决CAPTCHA。
撰写本文时的当前费率为每500次测试12美元。 因此,最有可能在您的软件中实施CAPTCHA 在至少几个国家是非法的,更糟糕的是 - 完全 无效的。
通常使用其他方法。
总而言之,你所做的最好的防守,就像任何与安全相关的东西一样,是一种分层的方法,使用不止一种防守。这个想法是让它比平均更难,以便攻击者放弃广告尝试不同的网站。这不会阻止持久性攻击者,但它会减少驱逐攻击。
要回答您的原始问题,这一切都取决于网站开发人员采取了哪些预防措施来阻止人们自动创建帐户。
任何有能力的开发人员都会在需求收集阶段解决这个问题,并为此做好计划。但是有很多网站由不称职的开发者/团队编写,即使是那些应该更了解的大牌公司。
答案 1 :(得分:0)
是。自动化表单提交非常容易,例如使用wget或curl。这正是CAPTCHA存在的原因,使表单提交自动化变得困难。
验证电子邮件也很有用,尽管自动打开它们并单击验证链接非常简单。如果您对阻止垃圾电子邮件域(例如hotmail.com)保持警惕,它们确实提供了保护。
答案 2 :(得分:0)
这可以使用简单的脚本,可以使用或不使用浏览器扩展(例如使用perl编写的脚本或使用wget / curl的shell脚本)。
大多数网站依赖于在启用CAPTCHA之前跟踪从特定浏览器/ IP收到的请求数量。
可以在服务器端使用有限的到期时间跟踪此信息,或者如果客户端使用多个IP(例如DHCP连接上的用户),则可以使用cookie跟踪此信息。