【发布时间】:2013-09-22 10:41:26
【问题描述】:
这是我第一次构建一个具有复杂登录\注册对话框的网站,该对话框具有后端安全功能,例如使用激活码进行电子邮件验证和禁止注册过多的错误登录尝试。
我以为我已经完成了安全架构的构建,但后来出现了问题:如何阻止恶意用户滥用我的新用户对话框。
我能想出的唯一解决方案是在成功注册时使用上次用于注册的电子邮件地址提交一个 cookie,后端会在新的注册尝试时识别此 cookie,并提示用户新的发现。甚至可能在响应之前需要超时。
但这只会让 12 岁的孩子无法忍受,这可能不会发生,但即使是具有基本技能和足够理由的人也可以使用简单的脚本暴力注册数千封电子邮件,我无法阻止用户拥有我网站上有很多帐户,因为他确实有电子邮件帐户(amirite?)
有什么建议吗?
【问题讨论】:
-
AFAIK,没有在线服务可以阻止这种情况的发生。
-
+1 好问题。希望更多的人会担心这种事情......
-
您的用户是通过 html 表单还是 ajax 提交数据?
-
@andrew 我正在使用 Angulars $http.post 方法,我知道它是 ajax。文档说:“$http 服务是一个核心 Angular 服务,它通过浏览器的 XMLHttpRequest 对象或 JSONP 促进与远程 HTTP 服务器的通信。”
-
这称为rate limiting。事实上,cookie 和(客户端)javascript 都不能保护您免受这种情况的影响。
标签: javascript authentication spam-prevention