Войти или зарегистрироваться
Выберите удобный способ — аккаунт создастся автоматически.
Или войдите по логину и паролю
 |
|

01.01.2008, 23:09
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
С нами:
10261766
Репутация:
1079
|
|
Сообщение от +toxa+
нуну, а если код типа
PHP код:
$query="select hek_title,hek_header,hek_footer from hek_temp where hek_id=".$_POST;
?)
при
Код:
id=-1 union select hek_name,hek_password,hek_mail from hek_users
всё будет норм выполняться
Ну дык речь идет про текст ведь, т.е. про данные в кавычках  Без кавычек, разумеется. Если данные должны быть int, тогда intval() в помощь.
|
|
|

01.01.2008, 23:15
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
С нами:
9975266
Репутация:
1916
|
|
Сообщение от +toxa+
нуну, а если код типа
PHP код:
$query="select hek_title,hek_header,hek_footer from hek_temp where hek_id=".$_POST;
?)
дык твой запрос не будет выполнен, т.к. ошибка синтаксиса
а если выборку по id делать то можно intval() применить 
|
|
|

01.01.2008, 23:46
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами:
10393869
Репутация:
2032
|
|
может лучше вместо stripslashes(); $var = str_replace("\\", "", $var); ?
тоха, мне нужны не числовые параметры. а для числовых, конечно, intval() + проверка на знак =)
|
|
|

02.01.2008, 00:39
|
|
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
С нами:
10516826
Репутация:
3742
|
|
чтониб вроде..
PHP код:
function xek($string)
{
if (get_magic_quotes_gpc()) {
$string = stripslashes($string);
}
if (!is_numeric($string)) {
$string = "'" . mysql_real_escape_string($string) . "'";
}
return htmlspecialchars($string);
}
а потом это уже в запрос кидать..
ну еще в довесок можно проверять на a-zA-Z0-9, хотя в идеале хватит только его. если точно знаешь что другого не будет в строке
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
Последний раз редактировалось blackybr; 02.01.2008 в 00:43..
|
|
|

02.01.2008, 00:54
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами:
10393869
Репутация:
2032
|
|
blackybr зачем добавлять одинарные кавычки, если параметр is_numeric?
|
|
|

02.01.2008, 01:20
|
|
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
С нами:
10516826
Репутация:
3742
|
|
если не число, то mysql_real_escape_strin и добавляем кавычки чтобы в запрос передать в кавычках уже строку) хотя прав, не обязательно, но почему бы и нет
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
|
|
|

02.01.2008, 01:34
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами:
10495046
Репутация:
2642
|
|
htmlspecialchars спасёт от XSS
PHP код:
htmlspecialchars('<script>alert("xss")</script>');
, mysql_escape_string спасёт от скули
PHP код:
mysql_query("SELECT test FROM test WHERE test2 = '".mysql_escape_string("1'+order+by+100")."'");
, чтобы проинклудить файл нужно проверять его существование на сервере
PHP код:
if(file_exists('./'.$_GET['file'])) {
include($_GET['file']);
}
(просто примеры), а лучше фильтровать символы.
PHP код:
preg_replace('||i', NULL, $_GET);
|
|
|

02.01.2008, 01:34
|
|
Познающий
Регистрация: 12.11.2007
Сообщений: 69
С нами:
9734726
Репутация:
676
|
|
Не надо заморачиваться , все предельно просто . Все передаваемые значения должны быть в ковычках , это сразу спасает от 99 процентов проблем да и mysql проглотит этот запрос быстрее , прежде чем применить
надо проверить включены ли magic_quotes_gpc
четко выставить кодировку , желательно отфильтровать данные на спецсимволы
PHP код:
$text = trim ( $text );$text = trim ( $text , "\x00..\x1F" );
htmlspecialchars надо использовать с ENT_QUOTES иначе одинарная ковычка не будет фильтроваться
PHP код:
htmlspecialchars( $text , ENT_QUOTES);
В случае запроса-поиска надо экранировать %,_ . Главное правило - не доверять всем входящим от юзера данным , точнее всему тому на что может повлиять юзер , но не показывать этому юзеру свое недоверие
Последний раз редактировалось Евгений Минаев; 02.01.2008 в 01:38..
|
|
|

02.01.2008, 02:26
|
|
Участник форума
Регистрация: 24.07.2007
Сообщений: 138
С нами:
9894190
Репутация:
215
|
|
Ну и ну, ребята. Столько сообщений, и нет ни одного грамотного ответа. Надо бы подождать nerezus'а, он знает ответ. Если ждать его лень (новый год как никак), бегом искать его статью о защите от "SQL инъекций". Там есть ответ на вопрос, который мучает здесь вас всех, а именно:
"Как защитить любое веб приложение от любой атаки, отличной от атаки грубой силой?"
Ни много ни мало. Формулировку вам придется натянуть на его "статью" самостоятельно.
Кстати, любой (даже низкой степени заинтересованности) студент любого ВУЗа любого IT факультета знает ответ на этот вопрос! Задумайтесь об этом, задумайтесь о том, чему вы научились, столько времени потратив на прочтение этого форума!?
Отдельная просьба Зеленому Мишке и всем прочим модераторам, хотя бы в честь Нового Года не трогать это сообщение, тем более, что в действительности, это первый ответ в этой теме, все остальное можно удалить!
|
|
|

02.01.2008, 02:42
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
С нами:
10309346
Репутация:
4303
|
|
О, ты вернулся :d
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|