Вступление
PHP является мощным языком программирования и интерпретатором,
взаимодействующим с веб-сервером как модуль либо как независимое
бинарное CGI приложение. PHP способен обращаться к
файлам, выполнять различные команды на сервере и открывать сетевые соединения.
Именно поэтому все скрипты, исполняемые на сервере являются потенциально
опасными. PHP изначально разрабатывался как более защищенный (относительно Perl, C)
язык для написания CGI-приложений. При помощи
ряда настроек во время компиляции, а также динамических настроек
приложения, вы всегда сможете найти подходящее сочетание свободы
действий и безопасности.
Поскольку существует много различных способов использования PHP,
имеется и множество опций, управляющих его поведением.
Широкий выбор опций гарантирует вам возможность использовать PHP в
разных целях, но также означает, что некоторые комбинации опций
делают сервер незащищенным.
Гибкость конфигурирования PHP можно сравнить с гибкостью самого языка.
PHP можно использовать для создания полноценных серверных приложений,
использующих доступные для указанного пользователя возможности операционной
системы, либо в качестве простых подключаемых файлов, хранящихся на сервере
с минимальным риском в жестко контролируемой среде. То, как настроено
данное окружение, а также качество его безопасности, в большей
части зависит от PHP-разработчика.
Эта глава начинается с рассмотрения некоторых общих вопросов безопасности,
различных конфигурационных опций и их комбинаций, а также ситуаций, когда
их использование является безопасным. Кроме того, приводятся некоторые рассуждения
касательно безопасного кодирования.