Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Безопастность в PHP
 
 автор: trix   (26.02.2007 в 15:39)   письмо автору
 
 

Всем привет,

Подскажите кто в курсе, насколько качественно фильтрует функция HTMSPECIALCHARS() стоит ли на нее полагаться или ее могут обойти ?

Сейчас на сайте делаю несколько интерестных вещей, где будут вводиться информация от пользователей, все переменные фильтрую:
HTMSPECIALCHARS() и strip_teg()
насколько это надежно защищает от XSS атак, и от SQL- инъекций, маджик_куот включены, все переменные в SQL, ставлю в кавычках.

   
 
 автор: Unkind   (26.02.2007 в 15:51)   письмо автору
 
   для: trix   (26.02.2007 в 15:39)
 

А как Вы хотите определить какое-то "качество фильтрования"? Эта функция только преобразует амперсанд, знаки "больше", "меньше" и, в зависимости от значения второго аргумента, двойные и одинарные кавычки в их HTML сущности.
strip_teg() - такой функции вообще не существует. Наверное, Вы имели в виду strip_tags(). Эта функция просто удаляет все теги из текста. Зачем?
Тупое обрабатывание переменных не даст никаких положительных результатов. Надо понимать для чего существуют те или иные функции и для чего Вы хотите их использовать.

   
 
 автор: Ralph   (26.02.2007 в 16:38)   письмо автору
 
   для: Unkind   (26.02.2007 в 15:51)
 

Вот это точно на 100% ...Я сам до недавнего времени использовал их по принципу "чем больше таких функций впихну,тем безопаснее будет скрипт,пока не столкнулся с ситуацией,когда вроде скрипт написан верно,а мой пароль не подходит,хотя я его помню,как 'отче наш'...

   
 
 автор: Ralph   (26.02.2007 в 16:43)   письмо автору
 
   для: Ralph   (26.02.2007 в 16:38)
 

И вот тогда решил основательно разобраться,что как и почем...Давай по порядку,я не ас,и если что не так,пусть меня поправят :)

   
 
 автор: Ralph   (26.02.2007 в 16:53)   письмо автору
 
   для: Ralph   (26.02.2007 в 16:43)
 

addslashes-добавляет обратный слэш к ' и ",очень полезно при выводе на экран и в базы данных.НО...обязательно надо проверять установку magic_quotes_gpc.Вы говорите-они включены...А вдруг завтра по ошибке выключите,или перенесете все на хостинг,где они по умолчанию выключены ? Поэтому я всегда делаю так: if(!get_magic_quotes_gpc(){addslashes.....}

   
 
 автор: Trianon   (26.02.2007 в 16:59)   письмо автору
 
   для: Ralph   (26.02.2007 в 16:53)
 

>addslashes-добавляет обратный слэш к ' и ",очень полезно при выводе на экран и в базы данных....

Чем полезно добавление \ к кавычкам при выводе на экран, позвольте спросить?

С остальным готов согласиться. Тем обиднее выглядит этот ляп.

   
 
 автор: trix   (26.02.2007 в 16:52)   письмо автору
 
   для: Unkind   (26.02.2007 в 15:51)
 

Использовать данные функции я хочу для безопастности, чтобы не было возможности поломать сайт. Для профи конечно возможность всегда есть, но хотябы нубоф фильтровать.

Я не специалист во взломе сайтов и мне сложно сказать, от чего конкретно помогает тот или иной встроеный в ПХП фильтр, а защищаться ведь нужно.

Вот и потому и пишу тут, что надеюсь посоветуют как лучше обезопасить сайт, достаточно ли фильтрации переменных этими функциями, или нужно еще фильтров своих налепить или еще что-то сделать ?

Если по порядку то, есть форма которая посылает запросы к SQL базе, записывает туда сообщения юзеров и соответственно их выводит, типа гостевой книги, вводится имя, е-маил, 3 сообщения, и 1 цифровой параметр из 2х цифр (тут прег_матч использую для фильтрации).

   
 
 автор: Ralph   (26.02.2007 в 16:58)   письмо автору
 
   для: trix   (26.02.2007 в 16:52)
 

Вот читайте,думайте и главное-вникайте,что зачем и почему,так как универсальной функции типа magicfunction($var),после которой ввод абсолютно безопасен,к сожалению,не существует

   
 
 автор: trix   (26.02.2007 в 17:04)   письмо автору
 
   для: Ralph   (26.02.2007 в 16:58)
 

Понятно, сначала учимся ломать сайты, а там глядишь и от атак научимся защищаться :)

Ок я пошел на antichat.ru :)

   
 
 автор: Ralph   (26.02.2007 в 17:06)   письмо автору
 
   для: Ralph   (26.02.2007 в 16:58)
 

Вот еще пример без думной защиты...Зачем использовать регулярки,отнимающие кучу ресурсов и времени,если есть is_numeric($var),is_int,is_float

   
 
 автор: Ralph   (26.02.2007 в 17:19)   письмо автору
 
   для: Ralph   (26.02.2007 в 17:06)
 

Гм,думаешь,там проще будет :-) Там тоже многое расчитано на людей,которые понимают,какие уязвимости как могут быть использованы...Я когда в первый раз зашел туда,дай бог чтобы 5% понял.Так что пока сам не разберешься,что и зачем...

   
 
 автор: trix   (26.02.2007 в 17:41)   письмо автору
 
   для: Ralph   (26.02.2007 в 17:19)
 

:) Так я пойду мануалы читать.

Насколько я понимаю фильтрацию ковычек достаточно сложно обойти, если в SQL запросах переменные в ковычках стоят, а сами ковычки фильтровать через маджик_куот или аддслэш, то достаточно эффективно.
А как обойти это сочетание можно и можно ли ?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования