Как отправить данные на почту?

1 2345 6
bruder
На сайте с 03.02.2015
Offline
199
#21
Sitealert:
Дальше прочитай свой код, и сам увидишь.

Дальше безобидная конвертация в UTF.

Если работает, то только ограниченно, в определённых условиях. Потому что аргументы функции подвергнуты сильному обрезанию.

Код отправляет с мыла сервера на определенное мыло простую текстовую форму. Что ТС и нужно. Не работать он не может, если на сервере включен php с mail().

ivan-lev:
https://blog.ripstech.com/2017/why-mail-is-dangerous-in-php/ - альтернативная точка зрения.. 😂

The first three parameters of this function are self-explanatory and less sensitive, as these are not affected by injection attacks. Still, be aware that if the to parameter can be controlled by the user, she can send spam emails to an arbitrary address.

В коде лишь эти первые 3 параметра, и to захардкоден. Никакой угрозы.

От ДОСа нет защиты, но и хрен с ней. Хрумер такие примитивные формы не долбит, спама может и за годы ни одного не упасть.

E
На сайте с 01.10.2017
Offline
117
#22
bruder:
Дальше безобидная конвертация в UTF.

Код отправляет с мыла сервера на определенное мыло простую текстовую форму.

Вообще-то не "в UTF", а "из UTF-8", но кто обращает внимание на такие мелочи! :) Тем более что принимающая сторона все равно ее будет считать 7-битной. А посчитать 8-битной Windows-кодировкой и к тому же правильно определить CP сможет только благодаря своему высокоразвитому искусственному интеллекту :D

bruder:
Не работать он не может, если на сервере включен php с mail().

Я вам писал, почему может не работать. Но если вам проще не заметить, дело ваше.

bruder:
Хрумер такие примитивные формы не долбит, спама может и за годы ни одного не упасть.

:D Если вы о том, что это форма обратного звонка, то вам могут передавать спам-текст, например, в поле phone. Вы же все равно его никак не фильтруете на сервере. Кроме того, сейчас существует спам, нацеленный именно на формы обратного звонка. Это когда вы перезваниваете, и вам начинают предлагать товары/услуги.

Домены на продажу: https://p20.ru/collection/domains-for-sale
S
На сайте с 30.09.2016
Offline
469
#23

Всё это неважно. Наверняка тема создана исключительно для поддержания активности на форуме.

Расходимся.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
bruder
На сайте с 03.02.2015
Offline
199
#24
estic:
Вообще-то не "в UTF", а "из UTF-8", но кто обращает внимание на такие мелочи! :)

Кроме очепятки на форуме придраться не к чему? :)

Я вам писал, почему может не работать. Но если вам проще не заметить, дело ваше.

Ничего ты не написал. Какие-то ничего не значащие буквы.

Код работает. Можешь попытаться привести пример, где он работать не будет.

:D Если вы о том, что это форма обратного звонка, то вам могут передавать спам-текст, например, в поле phone. Вы же все равно его никак не фильтруете на сервере. Кроме того, сейчас существует спам, нацеленный именно на формы обратного звонка. Это когда вы перезваниваете, и вам начинают предлагать товары/услуги.

Я сказал конкретно про эту форму. А ты опять ничего не значащие буквы.

S
На сайте с 30.09.2016
Offline
469
#25
bruder:
Код работает. Можешь попытаться привести пример, где он работать не будет.

Хрена ли тут приводить. Всё от настроек хостинга зависит. У меня была куча случаев, когда приходилось не только четвёртый параметр прописывать, но и пятый. А уж четвёртый-то в каждом первом случае требуется.

E
На сайте с 01.10.2017
Offline
117
#26
bruder:
ничего не значащие буквы.

Ну, так развивайтесь, чтобы понимать значение букв.

bruder:
Код работает. Можешь попытаться привести пример, где он работать не будет.

Выложите ссылки на страницы с формами, с которыми работает этот код.

---------- Добавлено 14.04.2020 в 19:12 ----------

Sitealert, там и без пятого параметра/настроек хостинга г/кода хватает.

Z0
На сайте с 03.09.2009
Offline
813
#27
ivan-lev:
Вторая страница обсуждения кода отправки двух полей на почту? 😂

Шел 2020 год 🤪

P.S. У меня еще заголовки в base64_encode делаются, не помню правда зачем так делал :)

	$subject = "=?utf-8?B?".base64_encode($where)."?= \n";	

$to = $tomail." \n";
$from = "=?utf-8?B?".base64_encode($name)."?= <test@test.ru> \n";
Amigo_9876
На сайте с 01.04.2009
Offline
324
#28

Лень все читать. Если надо, могу отправить архивом рабочий скрипт:

html, css, js + php/

Отправка методом mail.

Есть даже прикрепление файла.

SeVlad
На сайте с 03.11.2008
Offline
1609
#29
bruder:
Кроме очепятки на форуме придраться не к чему

Т.е. $_POST["theme"] и $_POST["name"] считаешь нормально? ;)

А они же 4м параметром в mail - серьёзно? Ну и 5й тоже :).

Но даже если опустить эти "технические опечатки"при копипасте в форум (и синтаксически правильно переписать) , то через эту дыру как минимум можно рассылать спам с твоего сервера любому адресату от любого отправителя.

На большинстве же нормально настроенные серверов она просто будет работать. Почему - гугли "уязвимости phpmailer" + обрати внимание на from.

ЗЫ. Вот, кстати, одна из причин, почему в случае ВП я категорический сторонник использования плагинов форм, а не "чо, ума не хватает элементарную форму написать"

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
Z0
На сайте с 03.09.2009
Offline
813
#30

SeVlad, я все проверяю старой функцией (где-то ее наковырял еще давно):

function dp($value)
{
$value = trim($value);
$value = preg_replace("/[\r\n]{3,}/i","\r\n\r\n", $value);
$value = stripslashes($value);
$value = strip_tags($value);
$value = htmlspecialchars($value);
$value = mysql_escape_string($value);
return $value;
}

Не знаю, правда, на сколько это актуально теперь :)

1 2345 6

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий