[英]PHP contact avoid Spam
在这个问题中,我将解决问题的两个部分。
第1部分:
我有一个php + javascript验证程序表格,如果正确的rand数字(由php生成)已通过javascript验证,则该表格会向我的客户发送电子邮件。 到目前为止,还算不错...问题在于,兰德数不足以避免垃圾邮件(实际上,我的客户每天通过假冒的阿迪达斯广告活动收到大约20封电子邮件)。 因此,我的想法来自获得rand数字+ 10(迫使用户解决计算问题)。
第2部分:
我不确定要解决此问题的最佳方法是什么,但是我认为在这3种选择中:
php
生成的rand数字,然后求和另一个rand数字。 的PHP
$ran_num = rand(0,9999);
$exclude_check = "valid";
JAVASCRIPT
if (document.getElementById("spambox").value != "<?php echo $ran_num ?>") {
alert('<?php echo $spamerror_s5_qc ?>');
return false;
}
简单的蜜罐示例,这是我所见过的最有效的方法,它不涉及ip禁止和填充。
您需要在表格上填写您不希望用户填写的字段。 然后在前端使用javascript将其隐藏。 漫游器没有javascript,因此他们会看到此字段并填写。 将其命名为听起来很重要的名称,例如“ required”或“ first_name”等。
然后在您的PHP上:
if($_POST['first_name']){
//YA FILTHY BOT!
}
else{
//process form
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.