Защищенный код

Кажется, почти ежедневно мы видим заголовки сообщений о том, что то или иное программное обеспечение имеет проблемы с безопасностью. Защита веб-приложения и сервера от нежелательных гостей должна быть одним из главных приоритетов для любого серьезного разработчика.
Есть много способов, с помощью которых злонамеренный пользователь может попытаться дискредитировать ваш Drupal-сайт. Некоторые из них основаны на внедрении в вашу систему кода и превращении его в исполняемый, после чего становится возможным управлять данными в вашей базе данных, просматривать материалы, к которым пользователь не должен иметь доступа, и посылать нежелательную электронную почту через вашу инсталляцию Drupal. В этой главе вы узнаете, как нужно грамотно программировать, чтобы отразить эти виды атак. К счастью.

Drupal обеспечивает некоторые инструментальные средства, которые облегчат устранение самых распространенных причин нарушений безопасности.
Когда пользователи взаимодействуют с Drupal, это обычно осуществляется через ряд форм, таких как форма представления узла или форма представления комментария. Пользователи могли бы также отправить сообщение в базирующийся на системе Drupal блог с помощью модуля blogapi. Подход Drupal к пользовательскому вводу может быть сформулирован так: сохранять оригинал, но фильтровать вывод. База данных всегда должна содержать в точности то, что ввел пользователь. В процессе подготовки пользовательского ввода к отображению его на вебстранице он санируется.
Бреши в системе зашиты могут появиться, когда текст, введенный пользователем, будет исполняемым для вашей программы. Это случается, если при разработке программы вы не думаете о полном диапазоне возможностей. Вы ожидаете, что пользователи будут вводить только стандартные символы, когда фактически «ни могут вводить нестандартные строки, например управляющие символы, вы, возможно, видели URL с символами %20: например, http://example.com/ my%20document. html. Это символ пробела, который был закодирован в соответствии со спецификацией URL.