javascript - 防止假注册的最佳方法是什么?

标签 javascript security registration humanize

我想了解更多关于限制注册仅供人类使用的网站的解决方案。

验证码似乎是一个合适的解决方案,但事实证明它是 not as good as it sounds . 如果盲人、聋人等无法选择解决方案,这也不是问题。

最佳答案

我最新的 Web 应用程序使用的流程使这对用户来说非常容易,对我来说也很安全。

  1. 用户转到登录页面,输入他们的电子邮件地址并点击“我正在注册”复选框。
  2. 用户点击“注册”,他们的电子邮件地址被插入到一个临时 SQL 表(称为 signups),并且带有验证链接的电子邮件被发送到该电子邮件地址。
  3. 用户点击验证链接,进入“创建密码”页面。
  4. 用户创建密码后,电子邮件地址和密码将插入到 users 表中,并删除 signups 表中的条目。

web app signup example

这使它变得简单可靠。

signups 表还包括随机 SHA1 哈希(用于验证链接)、注册后 12 小时的时间戳和 IP 地址。

signups 表中具有过期时间戳的所有条目都会在一天的某些时间被删除。


更新

自从写下这个答案后,我发现保持注册表单免受机器人攻击是一场永无止境的战斗。

随着时间的推移,正在开发新的技术和方法来规避安全措施。任何开发团队都能做的最好的事情就是定期检查注册质量,并想办法让他们的注册表格更安全、更直观。

是的,这需要大量的工作和资源,但对您的注册表单和注册质量有信心是值得的。

关于javascript - 防止假注册的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12482742/

相关文章:

java - 如何阻止特定客户端访问 Web 应用程序?

php - 在 PHP Mailer 中允许不安全的连接

ruby-on-rails - Rails + Devise + API + 用户注册

javascript - 使用 AngularJS 和 Highlight.js 进行动态语法高亮

javascript - 为什么第一页的 history.length 是 2?

JavaScript 似乎只是在 MouseMove 之后使用react

security - Grails项目登录插件

javascript - 无法在无状态组件中的现有状态转换期间更新

xmpp - XEP-0077 : In-Band Registration

php - 在 Laravel 中向注册表单添加字段不起作用