П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 4098 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6759 раз(а).

Учебник HTML.
Просмотров 3720 раз(а).

Руководство по PHP5.
Просмотров 5993 раз(а).

Хостинг через призму DNS.
Просмотров 4815 раз(а).

Подборка текстов стандартных документов.
Просмотров 56246 раз(а).

Учебник PHP - Самоучитель
Просмотров 3706 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 8347 раз(а).

Внешние атаки...
Просмотров 4566 раз(а).

Учебник PHP.
Просмотров 3175 раз(а).

SSI в примерах.
Просмотров 176 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Учебник РНР
НазадГлава 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


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru