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]   

> Без описания
Sankaboy
Отправлено: 11 Декабря, 2011 - 21:02:06
Post Id



Гость


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


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




Не хотел флудить, но в гугле почти ничего не нашел. Вот такое сочитание:
mysql_real_escape_string(intval($_GET['cat']))
может защитить от иньекций?
 
 Top
Мелкий Супермодератор
Отправлено: 11 Декабря, 2011 - 21:16:54
Post Id



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


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


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




Защитит. Оно даже избыточно.


-----
PostgreSQL DBA
 
 Top
snikers987
Отправлено: 11 Декабря, 2011 - 21:26:20
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




От инъекции достаточно mysql_real_escape_string()


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Sankaboy
Отправлено: 11 Декабря, 2011 - 22:06:44
Post Id



Гость


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


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




А обязательно каждый раздел, к примеру запрос в БД, делать в функции? Ведь это не на что не влияет?
Боюсь, что над моим кривым движком по издеваютсяУлыбка
 
 Top
snikers987
Отправлено: 11 Декабря, 2011 - 23:09:18
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




Цитата:
А обязательно каждый раздел, к примеру запрос в БД, делать в функции?


Не совсем понял что имелось ввиду..

(Отредактировано автором: 11 Декабря, 2011 - 23:10:16)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
caballero
Отправлено: 11 Декабря, 2011 - 23:48:08
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




Цитата:
От инъекции достаточно mysql_real_escape_string()

По моему даже is_numeric() достаточно


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
russia.semenov
Отправлено: 12 Декабря, 2011 - 06:07:23
Post Id


Новичок


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


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




caballero пишет:
По моему даже is_numeric() достаточно

Соглашусь с тобой caballero/


-----
Бесплатные уроки по созданию сайта.
http://roosny[dot]ru/
 
 Top
kuller
Отправлено: 12 Декабря, 2011 - 06:16:33
Post Id



Частый посетитель


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


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




вчера тоже на эту тему статьи читал. Большенство сайтов пишуть что одного mysql_real_escape_string() не хватает. Еще приводили пример что заместо таких запросов

PHP:
скопировать код в буфер обмена
  1. mysql_query("SELECT log FROM table WHERE log='$log'");


нужно использовать такой

PHP:
скопировать код в буфер обмена
  1. mysql_query("SELECT log FROM table WHERE log=?", $log);


только я не полят чем этот запрос лучше? и даже попробывал так зделать, и чёт ничего не работает...
 
 Top
Okula
Отправлено: 12 Декабря, 2011 - 07:45:04
Post Id



Участник


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


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




Там где используется оператор LIKE простого mysqli_real_escape_string() не хватит. Там нужно ещё экранировать символы _ и %
Делается это просто: addcslashes($str, '_%');
И этого вполне достаточно.
 
 Top
snikers987
Отправлено: 15 Декабря, 2011 - 21:14:13
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


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




Okula пишет:
Там где используется оператор LIKE простого mysqli_real_escape_string() не хватит. Там нужно ещё экранировать символы _ и %
Делается это просто: addcslashes($str, '_%');
И этого вполне достаточно.


Ну да, очень так получится, особенно если учитывать что в php функции addcslashes() вообще нет, а addslashes() принимает только один аргумент на входе.


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
EuGen Администратор
Отправлено: 15 Декабря, 2011 - 22:10:56
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




snikers987
http://ru.php.net/manual/en/func....addcslashes.php

Насчет % и т.п. - верное замечание, т.к. это подстановочные символы.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 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