Jump to content
  • 0

Аналог php функции mail()


apexis
 Share

Question

Пришло сообщение в админку сайта о рассылке 500 сообщений с сервера хостинга. Мне сказали, что с помощью функции mail(), которую я использую в форме обратной связи, можно рассылать спам. Как можно заменить функцию mail() или обезопасить форму обратной связи?

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0

Из статьи я понял, что все $_POST должны быть только в $body, как в коде ниже, и этого будет достаточно.


$header ="Content-Type: text/html; charset=windows-1251\n";
$body = '<br />ФИО: '.$_POST['name'].'<br />Телефон: '.$_POST['phone'].'<br />E-mail:'.$_POST['email'].'<br />Сообщение:'.$_POST['message'];
$to = 'a@mail.ru';
$subject = 'Сообщение';
mail ($to,$subject,$body,$header);

Правильно?

Edited by apexis
Link to comment
Share on other sites

  • 0
капча

Походу тут более глубокая проблема: почему через форму обратной связи, которая по логике, должна слать письма только на определенные ящики, можно спамить широкому кругу людей? Можно конечно поставить капчу, но куда логичнее было бы изменить сам код... :ph34r:

  • Like 1
Link to comment
Share on other sites

  • 0

wwt, ну почему ты убегаешь

извините, это я одного ловлю по всему форуму

не стоит флудить во всех темах, если у вас есть какой-то конкретный вопрос к кому то просто напишите ему в ЛС, а то как то не удобно даже )

Link to comment
Share on other sites

  • 0

1) как уже написали выше, все данные введенные в форму юзером - необходимо проверять на корректность.

2) установить таймаут между отправленными сообщениями на ...n время для одного и того же юзера, т.е. для одной и той же сессии.

Link to comment
Share on other sites

  • 0
Из статьи я понял, что все $_POST должны быть только в $body,

Да, главная мысль такая. Нельзя, чтобы «сырые» пользовательские данные использовались в SMTP-заголовках (напр. обратном адресе, не говоря уже об адресе получателя).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy