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

Сервис обмена электронных валют

Партнерская программа Kredov

Защита в PHP

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

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

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

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

 

 

  • 0

#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