Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: обработка данных с целью защиты

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: как?
Bio man
Отправлено: 30 Июля, 2011 - 13:51:47
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




1 вопрос. как обрабатывать введенные пользователем данные, что бы он не смог совешить sql иньекцию или каким то другим способом нарушить работу скрипта или даже всего проекта...
2 вопрос. какие уязвимости сессий? и как их устранить?
 
 Top
LIME
Отправлено: 30 Июля, 2011 - 14:05:27
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




http://www.php.su/functions/?mysql_escape_string
(Добавление)
http://www.php.su/functions/?strip_tags
или
http://www.php.su/functions/?htmlspecialchars

(Отредактировано автором: 30 Июля, 2011 - 14:05:41)

 
 Top
koka
Отправлено: 30 Июля, 2011 - 14:09:46
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Bio man, какой драйвер php используете для работы с БД???
Если PDO или mysqli, то для защиты от sql инъекций используйте подготовленные выражения.
Если используете старую версию драйвера, используйте mysql_real_escape _string()

Также проверяйте тип данных, анпример, если в запросе используете число,пользуйтесь функцией is_numeric () для проверки.
Здесь есть хорошая статья по защите от инъекций, там в основном для старого драйвера mysql http://phpfaq[dot]ru/slashes


Для проверки данных от пользователей и удаления нежелательных данных могут подойти htmlspecialchars() и strip_tags()


Ещё хочу спросить у знатоков, защищают ли полностью подготовленные выражения от SQL инъекций???

(Отредактировано автором: 30 Июля, 2011 - 14:11:38)



-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Bio man
Отправлено: 30 Июля, 2011 - 14:34:44
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




koka, да хрен его знает, стоит денвер на локалки. спасибо за ответы, будет над чем поработать
(Добавление)
пока такое понимание: число надо проверять или присваивать соответствующий тип данных. строки надо экранировать.
а теперь по экранированию. как? какую функцию использовать или использовать все ф-ции экранирования к проверяемой строке?
а то пишут: используйте это, это или это! а я че программист с 10 летним стажем, от куда мне знать что именно надо!? по мне так что strip_tags(), что htmlentities(), что htmlspecialchars() и другие, почти что одинаковы

(Отредактировано автором: 30 Июля, 2011 - 14:50:35)

 
 Top
koka
Отправлено: 30 Июля, 2011 - 16:21:49
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Bio man, ты как соединяешься с БД??? используешь mysql_connect() ???


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Roler
Отправлено: 30 Июля, 2011 - 17:07:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


Помог: 1 раз(а)




koka пишет:

Ещё хочу спросить у знатоков, защищают ли полностью подготовленные выражения от SQL инъекций???

Да, сборку запроса осуществляется уже при участии БД, так что она знает, что именно является данными, а что управляющими словами.
 
 Top
Bio man
Отправлено: 30 Июля, 2011 - 17:32:14
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




koka пишет:
Bio man, ты как соединяешься с БД??? используешь mysql_connect() ???
mysql_pconnect()
 
 Top
koka
Отправлено: 01 Августа, 2011 - 15:52:00
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Bio man, если есть желание, изучи PDO или mysqli. Как сказали выше, использование подготовленных выражений защитит от SQL инъекциий. Для начала можешь почитать эту статью "Почему следует использовать PDO для доступа к базам данных?" http://ruseller[dot]com/lessons.php?[dot][dot][dot]ub=28&id=610

(Отредактировано автором: 01 Августа, 2011 - 15:52:28)



-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB