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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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