Есть ли способ на 100% предотвратить злоупотребление скриптом php mail? - PullRequest
0 голосов
/ 12 января 2012

Я искал SO и нашел пару хороших идей , но ничто из того, что на 100% решило эту проблему с php mail, у меня возникло.

ПРИМЕЧАНИЕ. При удалении этого файла с сервера спам прекращается.Также 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;
}

1 Ответ

1 голос
/ 12 января 2012

вы разрешаете доступ через отправку POST вашей собственной формы. Итак, если я продолжу отправлять его с помощью JavaScript на вашем собственном сайте, скажем, с помощью Firebug, то что меня остановит?

У вас должен быть только один действительный токен, сопровождающий каждый запрос на отправку электронной почты, чтобы гарантировать, что ваши формы не могут быть отправлены более одного раза, даже с вашего собственного сайта.

...