java – 如何保护注册页面免受多个恶意请求的侵害?

我允许用户使用注册表在我的网站上注册.
提交表单后,将生成令牌并通过电子邮件发送给用户,他们需要单击令牌链接以激活其帐户.

我的问题是,如果我这样做,恶意代码仍然可以发送多个电子邮件到我的网站注册,我应该使用Captcha保护网站还是有其他方法?

解决方法:

如果您只想阻止双重提交,则可以为提交时检查的表单生成唯一标记.如果每页有多个表单,则需要进行一些考虑.另外,一个简单的方法是在提交时禁用表单/按钮.如果通过Ajax提交表单,则更有效(因此表单的action参数可以不存在,因此不易收集).

如果你想阻止自动提交(通过机器人),虽然Captcha可能是常用方法中最强大的,但它也是非常用户敌意的.相反,除非你有理由相信你的网站是专门针对的,否则通常只需使用蜜罐字段(人类永远不会填充的无形字段,但机器人会这样做)和隐藏的字段,你填充已知的使用JS后短暂延迟后的值(机器人通常不会执行JS,也不会花时间键入像人类这样的字段).简单地做Ajax提交通常就足够了.我建议在回到Captcha之前使用这些方法中的一种或混合物.

上一篇:开发必学的验证码,教你从零写一个验证码


下一篇:php – codeigniter captcha helper不会增加文本字体大小