39
влияет на быстродействие сервера). По аналогии с cgi-bin администратор также может
устанавливать ограничения на каталоги, в которых пользователь может просматривать
и исполнять сценарии РНР, а также использовать сценарии РНР для просмотра
конфиденциальной информации на сервере (например, файла passwd).
2. Средства безопасности уровня приложения
В стандартный набор функций РНР входит ряд надежных механизмов шифрования.
РНР также совместим с многими приложениями независимых фирм, что позволяет легко
интегрировать его с защищенными технологиями электронной коммерции (e-commerce).
Другое преимущество заключается в том, что исходный текст сценариев РНР нельзя
просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу
пользователя. Реализация РНР на стороне сервера предотвращает похищение
нетривиальных сценариев пользователями, знаний которых хватает хотя бы для
выполнения команды View Source.
Гибкость
Поскольку РНР является встраиваемым (embedded) языком, он отличается
исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР
обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом
интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо
структурированные приложения РНР легко расширяются по мере необходимости
(впрочем, это относится ко всем основным языкам программирования).
Нет проблем и с зависимостью от браузеров, поскольку перед отправкой клиенту
сценарии РНР полностью компилируются на стороне сервера. В сущности, сценарии РНР
могут передаваться любым устройствам с браузерами, включая сотовые телефоны,
электронные записные книжки, пейджеры и портативные компьютеры, не говоря уже о
традиционных ПК. Программисты, занимающиеся вспомогательными утилитами, могут
запускать РНР в режиме командной строки.
Поскольку РНР не содержит кода, ориентированного на конкретный web-сервер,
пользователи не ограничиваются определенными серверами (возможно, незнакомыми для
них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus — РНР работает
на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах,
РНР в целом является платформенно-независимым языком и существует на таких
платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT/2000/XP/2003.
Наконец, средства РНР позволяют программисту работать с внешними
компонентами, такими как Enterprise Java Beans или СОМ-объекты Win32. Благодаря этим