CodeIgniter User Guide Version 2.0.0


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

Эта страница описывает некоторые "хорошие практики" в отношении веб-безопасности, и информацию о встроенных функциях безопасности CodeIgniter.

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

CodeIgniter предъявляет строгие ограничения к символам, разрешенным в строках URI для того, чтобы помочь минимизировать возможность передачи потенциально опасных данных в ваше приложение. 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 предоставляет следующие функции, помогающие в этом процессе: