Отсутствие проверки данных на сервере PHP

110
21 декабря 2020, 09:00

Заинтересовал такой вот вопрос, на сколько такой кусок кода может представлять опасность?

...
$email = $_POST["email"];
$success = mail("email@e.com", "title", "message", "From:".$email);
...

С SQL инъекциями все понятно, как и в инъекцией в include

P.S. Вопрос не о том, как проверить email на валидность, а о том в данной ситуации возможно ли использовать во вред отсутствие проверки

Answer 1

Как сказали ранее, самое опасное что могут сделать - это спам. Как вариант, спам-боты.

Answer 2

По-хорошему следовало бы проверить конечно самой простой регуляркой, которая просто чекает наличие собачки и точки в домене:

/.+@.+\..+/i

Этого достаточно в 99% ситуаций. И прикрутить запрет например не более 3 писем в минуту с одного IP. В таком вот акцепте.

С другой стороны, тип поля <input type="email"> сделает львиную долю работы за тебя. В этом случае опасаться стоит только тех, кто откроет HTML в инспекторе и ручками поменяет тип поля, так что на бэке проверку я бы всё-же делал.

READ ALSO
Как использовать foreach внутри file_get_contents

Как использовать foreach внутри file_get_contents

Как использовать foreach внутри file_get_contentsНапример это:

123
Помогите вытащить инфу с xml в php

Помогите вытащить инфу с xml в php

Есть файл с xml структурой:

132
Передача данных из jsp формы JAVA

Передача данных из jsp формы JAVA

Имеется jsp-страница, где создается форма для заполнения текстом и форма-кнопка, которая при нажатии должна отправлять на другую jsp содержимое...

141