Рязанский хостинг, регистрация доменов, бесплатный хостинг
Рязанский хостинг. (мы поможем выбрать Вам лучший и дешевый хостинг для Ваших сайтов)
Скоро на .rznhost.com
Бесплатная регистрация в каталогах

Новые виды услуг

Приём Webmoney с сайта

Биллинг панель клиента

Вход в панель хостинга
Имя пользователя:
Пароль:
 
Проверить домен
Свободен ли адрес для сайта:
.
Разделы:
Наши новости и акции

Полезные статьи

Задать вопрос








Дешевый хостинг в Рязани

Защита сайта
Как защититься от взлома сайта и хотлинка.

Безопасность данных



Даже после того, как вы обеспечили надежную конфигурацию сервера, необходимо постоянно помнить о потенциальной угрозе для системы безопасности, исходящей из программного кода РНР. Не подумайте, что язык РНР недостаточно надежен - теоретическую брешь в системе безопасности можно создать на любом языке программирования. Тем не менее, учитывая широкое распространение РНР для программирования в распределенных средах с большим количеством пользователей (то есть в Web), вероятность попыток "взлома" ваших программ со стороны пользователей существенно возрастает. Вы должны сами позаботиться о том, чтобы этого не произошло.
Обработка пользовательского ввода
Хотя обработка данных, введенных пользователем, является важной частью практически любого нормального приложения, необходимо постоянно помнить о возможности передачи неправильных данных (злонамеренной или случайной). В web-приложениях эта опасность выражена еще сильнее, поскольку пользователи могут выполнять системные команды при помощи таких функций, как system( ) или ехес( ).
Простейший способ борьбы с потенциально опасным пользовательским вводом - обработка полученных данных стандартной функцией escapeshellcmd( ).
escapeshellcmd( )
Функция escapeshellcmd( ) экранирует все сомнительные символы в строке, которые могут привести к выполнению потенциально опасной системной команды:
string escapeshellcmd(string команда)
Чтобы вы лучше представили, к каким последствиям может привести бездумное использование полученных данных, представьте, что вы предоставили пользователям возможность выполнения системных команд - например, `ls -l`. Но если пользователь введет команду `rm -rf *` и вы используете ее для эхо-вывода или вставите в вызов ехес( ) или system( ), это приведет к рекурсивному удалению файлов и каталогов на сервере! Проблемы можно решить предварительной "очисткой" команды при помощи функции escapeshel lcmd( ). В примере `rm -rf *` после предварительной обработки функцией escapeshellcmd( ) строка превращается в \ `rm -rf *\`.
Обратные апострофы (backticks) представляют собой оператор РНР, который пытается выполнить строку, заключенную между апострофами. Результаты выполнения направляются прямо на экран или присваиваются переменной.
При обработке пользовательского ввода возникает и другая проблема - возможное внедрение тегов HTML. Особенно серьезные проблемы возникают при отображении введенной информации в браузере (как, например, на форуме). Присутствие тегов HTML в отображаемом сообщении может нарушить структуру страницы, исказить ее внешний вид или вообще помешать загрузке. Проблема решается обработкой пользовательского ввода функцией strip_tags( ).
strip_tags( )
Функция strip_tags( ) удаляет из строки все теги HTML. Синтаксис:
string strip_tags (string строка [, string разрешенные_теги])
Первый параметр определяет строку, из которой удаляются теги, а второй необязательный параметр определяет теги, остающиеся в строке. Например, теги курсивного начертания (<1 >...</ 1>) не причинят особого вреда, но лишние табличные теги (например, <td>...</td>) вызовут настоящий хаос. Пример использования функции strip_tags( ):
$input = "I <i>really</i> love РНР!";
$input = strip_tags($input);
// Результат: $input = "I really love PHP!";
На этом завершается краткое знакомство с двумя функциями, часто используемыми при обработке пользовательского ввода. Следующий раздел посвящен шифрованию данных, причем особое внимание, как обычно, уделяется стандартным функциям РНР.

Дата публикации: 02/04/2015
Прочитано: 6061 раз
Дополнительно на данную тему:
Защита от hotlinking
Система защиты веб-портала. Часть 1
Система защиты веб-портала. Часть 2
Фильтрация данных в PHP
Методы проверки на правильность заполнения полей
Безопасное программирование на PHP
Советы по защите сайта
Что же делать? Как защититься от хаксоров?
Как защитить сайт
Хранение файлов за пределами корневого каталога документов

Назад | Начало | Наверх
« Тарифные планы