我在网站上为表格做了一个基本的“人体测试”。
我想获取当前日期(分钟,而不是秒),并将其与用户REMOTE_ADDR结合,然后从中生成一个字符串(可能使用md5?),然后将其限制为6个字符。
然后,将向用户显示此代码,并指示将其复制到特定文本框,并在提交后进行验证并允许表单处理。
我不知道是否有更简单的方法可以做到这一点,但这是我认为对我有用并快速解决的问题。有什么建议吗?
答案 0 :(得分:5)
我不知道是否有更简单的方法 这样做,但这是我的事 认为对我有用,快点 固定。有什么建议吗?
如果您只是需要快速修复,请尝试更简单的方法。我有一个非常受欢迎的网站,其中有一个臭名昭着的图灵测试:
Check this box if you're a human: [ ]
这个小修补程序将我的垃圾邮件数量从每天1000个消息中的10个减少到每隔几个月1个或2个。当然,一旦机器人醒来,我不得不让我的测试更加困难:
What's the sound a cat makes? (Rhymes with 'cow') [________________]
之后再也没有问题了。 YMMV。
答案 1 :(得分:5)
我想说最简单的解决方案是使用蜜罐。 基本上,创建一个名为Name或类似的隐藏字段,然后检查该字段是否在提交时有数据。如果是的话,你知道它是一个机器人!由于它是隐藏的,人类将不能填充那个领域,只有机器人会![/ p>
答案 2 :(得分:2)
从任何来源生成MD5(包括完全随机)。将其放在屏幕上并将其存储在会话中。核实。瞧。
使用验证码库是,obv。但更安全。有很多非常好的,非常容易安装的。