繁体   English   中英

PHP接触避免垃圾邮件

[英]PHP contact avoid Spam

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

第1部分:

我有一个php + javascript验证程序表格,如果正确的rand数字(由php生成)已通过javascript验证,则该表格会向我的客户发送电子邮件。 到目前为止,还算不错...问题在于,兰德数不足以避免垃圾邮件(实际上,我的客户每天通过假冒的阿迪达斯广告活动收到大约20封电子邮件)。 因此,我的想法来自获得rand数字+ 10(迫使用户解决计算问题)。

第2部分:

我不确定要解决此问题的最佳方法是什么,但是我认为在这3种选择中:

  1. php变量内的总和兰特数;
  2. 在javascript中读取兰德数,并在javascript中加10;
  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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM