用php构建一个基本的人体测试

时间:2009-08-28 20:42:52

标签: php

我在网站上为表格做了一个基本的“人体测试”。

我想获取当前日期(分钟,而不是秒),并将其与用户REMOTE_ADDR结合,然后从中生成一个字符串(可能使用md5?),然后将其限制为6个字符。

然后,将向用户显示此代码,并指示将其复制到特定文本框,并在提交后进行验证并允许表单处理。

我不知道是否有更简单的方法可以做到这一点,但这是我认为对我有用并快速解决的问题。有什么建议吗?

3 个答案:

答案 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。但更安全。有很多非常好的,非常容易安装的。