Это должен быть элементарный вопрос, но почему лучше использовать что-то вроде этого:
$pwd = filter_input(INPUT_POST, 'pwd');
Вместо просто:
$pwd = $_POST['pwd'];
PS: Я понимаю, что расширение фильтра можно использовать с большим количеством аргументов для обеспечения дополнительного уровня санитарии.
Это не. $_GET
, $_POST
, $_COOKIE
и $_REQUEST
фильтруются фильтром по умолчанию . filter_input(INPUT_POST, 'pwd')
без дополнительных параметров также использует фильтр по умолчанию. Так что нет никакой разницы.
Любые данные, которые отправляются клиентом (например, данные POST), должны быть дезинфицированы и удалены (и даже лучше, проверены на работоспособность), чтобы гарантировать, что он не собирается убивать ваш сайт.
SQL Injection и межсайтовый скриптинг являются двумя самыми большими угрозами для неспособности дезинформировать ваши данные, отправленные пользователем.
Это не лучше.
Пожалуйста, просмотрите документы по адресу filter_input http://www.php.net//manual/en/function.filter-input.php
и нажмите ссылку «Типы фильтров». http://www.php.net/manual/en/filter.filters.php
Я использовал только целочисленный фильтр …
$user_id = filter_input(INPUT_POST, 'user_id', FILTER_SANITIZE_NUMBER_INT); $user = abs($user_id); // To get rid of any +/-