Укоротил текст ... расставил . По факту теперь я говорю что не вижу здесь уязвимостей , а мне говорят что есть. Ок если отправили на мыло <script>...</script>@test.ru пожалуйста на этом же мыли и ищите своё письмо на мыле <script> ))) потом за 2 $_POST что в теле мне говорят есть XSS , мое мнение htmlspecialchars применяется для вывода на страницу сайта, а мы письмо отправляем на сервис допустим Gmail , как htmlspecialchars в моем коде будут выполнены на Gmail )), в общем я предложил взломать через мой код Gmail никто не знает как но орут жопу рвут что надо все $_POST долбить фильтрацией PHP: mail($_POST['email'], SITE_NAME.' - ...', '...Имя пользователя: '.$_POST['username'].'<br>Пароль: '.$_POST['password'].'<br><br>', '...'); Вопрос какие на фиг уязвимости , и как тогда хакнуть Gmail через этот $_POST, если по факту если ты доброжелатель ты зашёл зарегистрировался получить письмо на почту как скрипт сгенерировал, если говно то ищи там куда ты его отправлял и читай что ты туда подставлял выходит почтовый клиен так и обработает выходи что я потеряю если эти поля не оберну в фильтр? Ничего. Просто вот не вижу в этом коде уязвимости по причине что mail тело читается уже не на сайте у меня а в почтовом клиенте и всё что прилетит это проблемы не мои это проблемы разработчиков почтового сервиса
ну не совсем чистый XSS, но все-же если я в email передам 100 емейлов через запятую... как тебе такое? как быстро забанят твой обратный адрес? теперь допустим, что передам в username - <script>alert('hacck')</script> ... если веб-клиент твоей почты не блочит это самостоятельно.... вот тут и наступит твоя проблема.... ибо сейчас у тебя гмайл крутой... а завтра сменил почту на какой нить другой сервис - и попух
Это не совсем то. Общепринято, что ""Имя пользователя(эПочты) может содержать буквы латинского алфавита (a–z), цифры (0–9) и точки (.) Я бы ещё добавил туда же тире и подчеркивание, тоже часто используют Это-то и стоит проверять при использовании mail()
Ты говоришь о регулярке а я говорю о функции mail() и что происходит внутри её, и зачем долбить всё в фильтра потому где-то на заборе 2010 года написано нужно фильтровать все данные $_POST FILTER_VALIDATE_EMAIL по-моему то что ты предлагаешь выполняет эта штука , что-то подобное. Не ограничивая жёстко так символами a-z 0-9 \. \- _ --- Добавлено --- FILTER_VALIDATE_EMAIL не пропустит 100 имейлов, если я правильно читал описание функции Ты же получатель письма, ты когда регистрацию проходишь ты себе отправляешь письмо <script>alert('hacck')</script> , т.е ты же умышленно это себе отправил , я же не должен об этом думать, об этом должен был думать Gmail Yandex outlook , если через меня хакнули какого-то школьника сервис остаётся только посмеяться --- Добавлено --- PHP: elseif(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $err = htmlspecialchars($_POST['email']).' не является действительным адресом электронной почты.'; О себе я подумал, почему я должен думать о Gmail допустим или каком temp-mail , вызывая у себя лишние функции?
Ну почему о себе подумал а как будут работать функции там где они не имеют никакого отношения, подумал и решил зачем они там
Смотря как используется. Так, как вы описываете, выглядит не очень умно. Хотя и безвредно. На сегодняшний день. Поставим себя на место злоумышленника. Обнаружение такого упущения вызовет у нас вполне справедливое мнение об умственной несостоятельности администрации, что даст дополнительный стимул в поиске уязвимости в другом месте. И она таки будет найдена.
Я же знаю что перед передачей в бд фильтрация и при выводе на страницу, либо регуляркой валидация пришедших с стороны пользователя данных. Всё возможно может где и упущу опыт и практика только всё исправит