我已經搜索過,並發現了幾個good ideas但沒有100%解決了這個PHP郵件問題我有。有沒有辦法100%防止php郵件腳本被濫用?
注意:當我從服務器上刪除此文件時,垃圾郵件會停止。 Captcha也不是一個真正的選擇,這是一個Ajax調用,它需要很快。我不是100%確定垃圾郵件發送者是如何做到的,但任何幫助都會讓人賞心悅目。
這裏是HTML的位添加到窗體:
<input name="spam_stopper" value="DO NOT CHANGE THIS VALUE" style="display:none;"/>
這裏是額外的代碼我在mail.php文件的頂部並沒有阻止垃圾郵件說:
if ($_POST['spam_stopper'] != 'DO NOT CHANGE THIS VALUE') {
echo '<h3>Incorrect use of this form!</h3>';
exit;
}
if(!strpos($_SERVER['HTTP_REFERER'],'my-sample-domain-name.com'))
{
echo '<h3>Incorrect use of this form!</h3>';
exit;
}
if($_SERVER['REQUEST_METHOD'] != "POST"){
echo("Unauthorized attempt to access page.");
exit;
}
100%不,但是一個好的驗證碼很接近。我不明白你爲什麼不能使用它。 – 2012-01-12 01:56:14
你能不能詳細說明爲什麼文本驗證碼回答http://stackoverflow.com/a/3825272/76989不是你的問題的解決方案? – mmhan 2012-01-12 02:00:09
我寧願不必依靠某些第三方服務。你有沒有使用uniqid();創建一次性令牌? – 2012-01-13 02:11:55