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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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