php – 防止垃圾邮件

如何在只有注册用户可访问的页面上停止机器人? 90%的页面由真实用户访问,10%是机器人.

我不想在页面上放置验证码或验证方法,因为我知道我的用户不喜欢这样,而且他们也很懒.

请分享您的想法

编辑

我想让这个问题更清楚

>注册页面有验证码
>我的网站允许用户提交内容,换句话说就是其UGC网站.垃圾邮件发送者复制其他用户的内容并将其放在我的网站上,因此无法通过askimet阻止他们.

可能解决方案

我心中只有一件事.

当用户点击提交按钮服务器时,将生成一个随机数(使用javascript),然后将其用于隐藏字段进行验证.

您认为此解决方案是否实际适用?

解决方法:

我喜欢使用的一个技巧是为我的表单添加一个隐藏的输入字段,真正的用户永远不会看到或改变,但机器人会盲目地填写.

就像是

<input name="spam_stopper" value="DO NOT CHANGE THIS" style="display:none;"/>

然后,在您的表单处理代码中,确保spam_stopper的值为“请勿更改此”.

智能机器人可能会忽略display:none,但这不太可能 – 许多人忽略< input type =“hidden”>虽然,所以我不会用那个……

上一篇:绕过Gmail的垃圾邮件过滤器(使用PHP从共享主机发送的邮件)


下一篇:copy模块的copy和deepcopy函数