Аргерих Л. О языке РНР. Часть 5. Страница 89


- рецепты по

созданию безопасных программ (не только РНР)

http://www.cert.org/advi8ories/CA-2000-02.hi"> http://www.cert.org/advi8ories/CA-2000-02.hi - информация CERT об ата­ках cross-site scripting

Веб-сайтыг посвященные проблемам безопасности

- домашняя страница Computer Emergency Response

Team

http://www.securityfocus.c/"> http://www.securityfocus.c - домашняя страница BugTraq

- домашняя страница

http://www.atstake.com/research/index.ht"> http://www.atstake.com/research/index.ht - @stake research (ранее извест­ный как lOpht)

http://www.phrack.org/"> http://www.phrack.org/ хакерский журнал с описанием разных эксплойтов

- каталог Go­ogle сайтов, посвященных безопасности

Прочие

http://psy.ucsd.edu/psynet/security/passwd">http://psy.ucsd.edu/psynet/security/passwd.) - выбор надежного пароля


24

Оптимизация

«Преждевременная оптимизация - корень всех зол». Дональд Кнут «Искусство программирования»

Иногда, написав приложение веб-сайта на РНР, разработчики обнаруживают, что это приложение работает недостаточно быстро. Поэтому приходится опти­мизировать код, чтобы сократить время выполнения сценариев. Несмотря на то что РНР, в целом, быстрый язык выполнения сценариев, существует ряд технологий, рекомендаций и приемов, позволяющих оптимизировать код.

В данной главе мы осветим следующие темы:

♦ Методы оптимизации кода

♦ Развитые приемы работы с базами данных, позволяющие повысить эф­фективность программ РНР

Выбор правильного языка

Первый вопрос, который возникает, когда производительность приложения оказывается неудовлетворительной, — это правильно ли выбран язык програм­мирования. Возможно, медлительность обусловлена интерпретатором язы­ка, и тогда нет смысла оптимизировать код - лучших результатов это не даст.

Проводилось тестирование нескольких языков программирования, чтобы сравнить их быстродействие с РНР. Измерения проводились по многим раз­личным типам сценариев, включающих различные операции; результаты представляют собой усреднение величин, полученных во всех тестах.

Тестировались следующие языки:

♦ Сценарии CGI

Обычный способ написания кода для веб-сайтов и приложений 1-2 года назад

Сценарии FastCGI Perl

Механизм повышения производительности сценариев CGI

Сценарии Python CGI

Использование Python для написания сценариев CGI

Сценарии Python

Модуль Apache, позволяющий ему выполнять код Python, не обращаясь к интерпретатору Python

Сценарии С CGI

Компилированные сценарии С, выполняющиеся как программы CGI