Фреймворк CodeIgniter Version 2.1.3


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

Эта страница описывает некоторые «лучшие практики» безопасности веба, и детали внутренних опций безопасности CodeIgniter.

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

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

Register_globals

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

error_reporting

В окружении эксплуатации (production environment), как правило, жетательно отключать вывод ошибок PHP путем установки флага error_reporting в 0. Это отключит вывод родных сообщений об ошибках PHP, которые могут содержать потенциально конфиденциальную информацию.

Установка константы CodeIgniter-а ENVIRONMENT, которая находится в index.php в значение 'production' отключит вывод этих ошибок. В режиме разработки рекомендуется иметь значение 'development'. Больше информации по различиям между окружениями вы можете найти на странице Управление окружениями.

magic_quotes_runtime

Директива magic_quotes_runtime отключается при инициализации системы, поэтому вы не обязаны убирать слеши при получении информации из БД.

Лучшие практики

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

  1. Всегда фильтровать данные, как будто если бы они были плохими;
  2. Валидировать данные, чтобы убедиться в их соответствии корректому типу, размеру, длине и так далее (иногда этот шаг заменяет предыдущий);
  3. Экранировать данные перед помещением их в БД.

CodeIgniter предоставляет следующие функции для этого процесса:

    Поддержать сайт на родительском проекте КГБ