url Query and Security - PullRequest
       6

url Query and Security

2 голосов
/ 01 мая 2010

В URL-запросе с идентификатором я использую is_numeric($_GET['id']) для обеспечения безопасности. Но в запросе, например, с именем категории, urlencode() правильный путь для безопасности? Заранее спасибо.

1 Ответ

2 голосов
/ 01 мая 2010

Нет, urlencode используется, чтобы строки принимали форму в кодировке URL.

В отличие от числового идентификатора, не существует единственного метода очистки входного значения строки. Какой метод вам нужно использовать, зависит от того, что вы хотите сделать с именем категории.

Например:

  • Если вы хотите использовать его в запросе, запустите по крайней мере mysql_real_escape_string() для него или (лучше) используйте класс базы данных, который поддерживает параметризованные запросы (например, PDO). При параметризованных запросах PDO позаботится о безопасной очистке всех входящих параметров.

  • Если вы хотите вывести его на страницу, перед выводом необходимо запустить htmlentities(), чтобы предотвратить внедрение HTML-кода.

Есть и другие вещи, которые необходимо учитывать при использовании имени категории в качестве имени файла, при использовании его в качестве части URL-адреса и т. Д. И т. Д.

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