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



Защита в PHP

#1

Поделиться сообщением #1



кипятильник

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

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

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

 

 

  • 0

robot

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

#2

Поделиться сообщением #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

Поделиться сообщением #3



ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

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

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


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