2014-06-17 25 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中找到一個價值,如果存在的話,你有垃圾郵件。示例: