2014-06-17 99 views
-2

所以我运行一个基于kusaba图像板的陈。PHP垃圾邮件过滤器的想法不工作,但逻辑是声音

我收到了大量的垃圾邮件。垃圾邮件来自运行脚本的人,甚至绕过Captcha系统。有时它包含文本,通常它只是一个带有图像的新线程。我不是每隔32分钟就禁止他们,我正在尝试一个新的东西:如果一张图片正在发布消息,它应该看看消息是否为空。如果消息是空白,退出错误代码(因此没有发布)

我写的代码是在这里:`

if isset($_POST['message']) && isset($_FILES['imagefile']) { 
     if ($_FILES['imagefile'] != NULL && $_FILES['message'] == NULL) { 
      exitWithErrorPage('Please enter some text with your image to prevent spam abuse.'); 
    } 
} 

由于某种原因,我得到这个错误: 解析错误:语法错误,意外T_ISSET,期待 '(' 上线/home/content/61/11420661/html/board.php 106

+0

'if'缺少括号:如果(...){...} BTW。 ,错误信息几乎没有更明确:“意外ISSET,期待(”... – LSerni

回答

1

这是一个语法错误:

if isset($_POST['message']) && isset($_FILES['imagefile']) 

应该是

if (isset($_POST['message']) && isset($_FILES['imagefile'])) 
+0

感谢所有谁张贴。它现在工作。把一些最后的接触,使其只影响新线程,而不是回复。男孩 – user2962806

0

您在第一个if语句周围缺少一组括号。

if(isset($_POST['message']) && isset($_FILES['imagefile'])) { 
^             ^
0

你缺少的(后如果还有关闭一个 试试这个:

if (isset($_POST['message']) && isset($_FILES['imagefile'])) { 
     if ($_FILES['imagefile'] != NULL && $_FILES['message'] == NULL) { 
      exitWithErrorPage('Please enter some text with your image to prevent spam abuse.'); 
    } 
} 
+0

一个打击垃圾邮件的好方法是在你的表单中使用一个隐藏字段,人类不会看到它,但垃圾邮件机器人会,并且他们会为它输入一个值,在你的postvars中找到一个价值,如果存在的话,你有垃圾邮件。示例: