Перейти к содержимому


fozzy

Защита в PHP

#1 кипятильник

кипятильник
  • Пользователь
  • 102 сообщений
  • Репутация: 0
0

Отправлено 08 Май 2009 - 14:39

как избежать проблем при использование GET параметров?, как защитить базу я знаю можно с mysql_escape_string() "подсказал ZiTosS", а как саму страницу что бы не можно было вызвать что то.

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Обработка PHP-кода - полученного из базы данных
  2. PHP файловый архив
  3. Защита от XSS
  4. Защита php скриптов привязка к домену
  5. Настройки Htaccess для защиты сайта от взлома

#2 Arukard1

Arukard1
  • Пользователь
  • 193 сообщений
  • Репутация: 0

Отправлено 08 Май 2009 - 15:53

1.Использовать функцию strip_tags()
2.Если в GET Вы передаёте ID ( page?id=1 или page?id15&bb=33 )
Поставить условие чтоб пропускало только цифры
3.Иногда есть толк от ЧПУ
  • 0

#3 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 08 Май 2009 - 17:54

кипятильник,
1) Если ты знаешь, что GET переменная должна получать число, то целесообразно использовать функцию intval(). В качестве параметра можно передать любую последовательность символов. Функцию попытается преобразовать последовательность к целому числу, если это не число, то функция вернёт 0. Тогда любая строка, которая может вызвать ошибку в работе скрипта, будет преобразована к нулю.
2) Если вы делаете включение тех или иных модулей через get параметр. Нужно обязательно искать полное соответствие параметра его содержимому, если такого пункта не найдено, стоит запретить работу скрипта функцией exit() или die().
3) Если захотите избавиться в коей-то мере от XSS, достаточно запретить в GET-параметрах символы * и / и \ слеши.
Если таковые найдены, то нужно учитывать что это за параметр, если идёт включение файла, то обязательно запрещать обращение подобных включений пути со сторонних серверов.
  • 0


Оформление форума – IPBSkins.ru