PHP联系人避免垃圾邮件

时间:2013-11-25 13:19:18

标签: javascript php forms validation

在这个问题中,我将解决我的问题的两个部分。

第1部分:

我有一个php + javascript验证器表单,如果javascript验证了正确的rand数字(由php生成),它会向我的客户端发送一封电子邮件。 到现在为止还挺好... 问题是兰特数量不足以避免垃圾邮件(事实上,我的客户每天通过虚假的阿迪达斯活动收到大约20封电子邮件)。所以,我的想法来自于获得一个兰特数+10(迫使用户解决计算)。

第2部分:

我不能确定解决这个问题的最佳方法是什么,但我认为在这3个选项中:

  1. php变量中的和rand数;
  2. 在javascript中读取rand数字,在javascript中读取10;
  3. 读取php生成的兰特数,并将另一个兰特数加起来。

  4. 这是我的代码,没有总和:

    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;
    }
    

1 个答案:

答案 0 :(得分:0)

简单的蜜罐示例,这是我见过的最有效的方法,不涉及ip禁止和东西。

您希望在表单上添加一个您打算让用户填写的字段。然后在前端用javascript隐藏它。机器人不会有JavaScript,所以他们会看到这个字段并填写它。将其命名为“必需”或“first_name”等重要内容。

然后在你的PHP上:

if($_POST['first_name']){
    //YA FILTHY BOT!
}
else{
     //process form
}
相关问题