Почему лучше использовать filter_input ()? - PullRequest
20 голосов
/ 20 апреля 2009

Это должен быть элементарный вопрос, но почему лучше использовать что-то вроде этого:

$pwd = filter_input(INPUT_POST, 'pwd');

Вместо просто:

$pwd = $_POST['pwd'];

PS: я понимаю, что расширение фильтра может использоваться с большим количеством аргументов для обеспечения дополнительного уровня очистки.

Ответы [ 3 ]

14 голосов
/ 20 апреля 2009

Это не так. $_GET, $_POST, $_COOKIE и $_REQUEST фильтруются с фильтром по умолчанию . filter_input(INPUT_POST, 'pwd') без дополнительных параметров также использует фильтр по умолчанию. Так что разницы нет вообще.

2 голосов
/ 23 июня 2014

не лучше.

Пожалуйста, смотрите документы на 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 +/-
2 голосов
/ 20 апреля 2009

Любые данные, которые отправляются с клиента (такие как данные POST), должны быть очищены и удалены (и даже лучше, проверены на исправность), чтобы гарантировать, что они не убьют ваш сайт.

SQL-инъекция и Межсайтовый скриптинг - это две основные угрозы, которые не позволяют санировать отправленные вами данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...