У меня есть форма с большим количеством переменных, которые затем отправляют электронное письмо, а не дезинфицируют каждое значение $_POST
с помощью filter_var($_POST['var'], FILTER_SANITIZE_STRING);
. Я был после более простой части кода. Я придумал ниже, что, похоже, работает, поскольку я считаю, что действие по умолчанию FILTER_SANITIZE_STRING
, но мне просто интересно, что такое мнения людей, и если это не хорошая практика, возможно, вы могли бы мне объяснить, почему? Значения $_POST
затем индивидуально внедряются в новые переменные, поэтому я бы использовал массив array_map только в начале, чтобы дезинформировать все...
$_POST = array_map('filter_var', $_POST);
Спасибо за ваши ответы, чтобы дать вам немного больше информации, в основном:
У меня есть 20-30 полей ввода в форме, которая захватывается, данные затем отображаются пользователю для проверки их ввода, переменные затем дезинфицируются, пользователь затем отправляет электронное письмо и затем, наконец, детали вводятся в db.
В настоящее время я дезинфицирую использующ вышеуказанную функцию array_map, а также FILTER_SANITIZE_EMAIL на адресе электронной почты перед отправкой электронной почты, а затем избегая ввода с помощью mysql_real_escape_string() перед вставкой в db. Не вдаваясь в подготовленные заявления и т.д., Как вы думаете, я должен делать что-нибудь дополнительно? Еще раз спасибо!