PHP. Руководство по PHP. 2005
Данные, введенные пользователемПред. След. |
Глава 30. Данные, введенные пользователем
Наиболее опасные дыры во многих PHP-скриптах возникают не столько из-за самого языка, сколько из-за кода, написанного без учета соответствующих требований безопасности. Как следствие, вы всегда должны выделять время на исследование разрабатываемого участка кода, чтобы оценить потенциальную угрозу от ввода переменной с нестандартным значением.
-
Будет ли данный скрипт воздействовать исключительно на предполагаемые данные?
-
Правильно ли будут обработаны некорректные или нестандартные данные?
-
Возможно ли использование скрипта не предусмотренным способом?
-
Возможно ли его использование в сочетании с другими скриптами в негативных целях?
-
Будет ли каждая транзакция корректно логирована?
Вы также можете предусмотреть отключение таких конфигурационных опций, как register_globals, magic_quotes и некоторых других, которые могут приводить к сомнениям относительно происхождения или значения получаемых переменных. Использование при написании кода режима error_reporting(E_ALL) может помочь, предупреждая вас об использовании переменных до инициализации или проверки (что предотвратит работу с данными, отличныи от ожидаемых).