В данном фрагменте текста страницы моего сайта я хочу продавать контекстные ссылки

Данные, Отправляемые Пользователем

14 октября 2010 - Администратор
НазадГлава 4. Безопасность Вперед

Данные, отправляемые пользователем

Самые большие дыры во многих PHP-программах зависят не столько от самого языка, сколько от кода, написанного без учёта обеспечения безопасности. Соответственно, вы всегда должны выделять время для исследования влияний на данный участок кода, чтобы знать о возможном вреде, который может нанести отправка в него переменной с нестандартным значением.

Пример 4-17. Опасное использование переменных
<?php
// удалить файл из домашней директории пользователя ... а может -
// ещё что-нибудь?
unlink ($evil_var);

// записать логинг доступа ... или, может быть, вхождение /etc/passwd?
fputs ($fp, $evil_var);

// выполнить что-нибудь тривиальное ... или rm -rf *?
system ($evil_var);
exec ($evil_var);

?>

Вы всегда должны тщательно проверять ваш код, чтобы гарантировать, что любые переменные, отправляемые из web-браузера, соответствующим образом будут проверены, и задайте себе следующие вопросы:

  • Будет ли данный скрипт воздействовать только на предполагаемые файлы?

  • Могут ли быть обработаны необычные или нежелательные данные?

  • Может ли данный скрипт быть использован несоответствующим образом?

  • Может ли он быть использован в сочетании с другими скриптами негативным образом?

  • Будет ли выполнен адекватный логинг для каждой транзакции?

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

Возможно, вы захотите также предусмотреть отключение register_globals, magic_quotes или других установок, которые могут создать у вас неуверенность в проверке, источнике или значении данной переменной. Работа с PHP в режиме error_reporting(E_ALL) также может помочь, предупреждая вас о переменных, используемых до проверки или инициализации (что предотвратит операции с необычными данными).


Назад Оглавление Вперед
Использование Register_Globals Скрытие PHP
Рейтинг: 0 Голосов: 0 820 просмотров
Комментарии (0)

Нет комментариев. Ваш будет первым!

Яндекс цитирования
В случае перепечатки материалов активная ссылка на cattus.ru обязательна
© 2004-2013 cattus.ru