CodeIgniter, руководство пользователя к версии 1.6.1


Безопасность

Эта страница описывает «Лучшие практики» в отношении веб-безопасности, а так же о том, как CodeIgniter обеспечивает вашу безопасность.

Безопасность URI

CodeIgniter сильно ограничивает диапазон символов, которые могут быть указаны в URL, чтобы таким образом не передать в ваше приложение ничего вредоносного. URI могут содержать только следующее:

GET, POST и COOKIE данные

GET запросы просто не принимаются системой, т.к. CodeIgniter использует URI на основе сегментов, вместо традиционной строки запроса (если вы хотите использовать строки запроса, то можете включить эту опцию в конфигурационном файле). Глобальный GET массив удаляется классом Input, подключающимся при инициализации.

Register_globals

При инициализации системы удаляются все глобальные массивы, за исключением $_POST и $_COOKIE. Их отключение равносильно опции register_globals = off.

magic_quotes_runtime

Директива magic_quotes_runtime отключается при загрузке системы, чтобы вам не пришлось удалять слеши при извлечении данных из базы данных.

Наилучшая практика

Прежде чем работать с любыми данными в вашем приложении, будь то POST из формы на сайте, COOKIE, информация из URI, XML-RPC и даже данными из массива SERVER, вы должны проделать три простых шага:

  1. профильтровать данные, как если бы они были «грязными»
  2. проверить данные на соответствие ожидаемой длине, типу, размеру и т.п. (в некоторых случаях этот шаг может заменить первый);
  3. экранировать данные перед отправкой в базу данных.
CodeIgniter предоставляет следующий функционал для помощи в этом процессе: