[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SQL injection
Гость_Алексей
Здравствуйте. Читал читал про SQL инъекции. Баловаться прикольно)

Но такой вопрос. Пытаюсь отфильтровать запросы поступающие с GET. Таким образом.

$search = $_GET['search']; // Запрос поиска

$text_to_check1 = mysql_escape_string($search);
$text_to_check2 = strip_tags($text_to_check1);
$text_to_check3 = htmlspecialchars($text_to_check2);
$text_to_check4 = stripslashes($text_to_check3);
$text_to_check5 = addslashes($text_to_check4);



$result = dbquery("SELECT COUNT(*) FROM amx_servers WHERE (`server_map`LIKE '$text_to_check5%' || `server_ip`LIKE '$text_to_check5%') AND `server_status`=1");



Попытался сделать инъекцию, не чего не вышло. Неужели спасает такой метод ???
Игорь_Vasinsky
ваш код изменяет входные данные.

для строковых значений используйте mysql_real_escape_string(), для числовых - (int), (float) и т.д.
а если используете LIKE то

addcslashes(mysql_real_escape_string($var), "%_")


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Invis1ble
Цитата
$text_to_check1 = mysql_escape_string($search);
$text_to_check2 = strip_tags($text_to_check1);
$text_to_check3 = htmlspecialchars($text_to_check2);
$text_to_check4 = stripslashes($text_to_check3);
$text_to_check5 = addslashes($text_to_check4); 

addcslashes не хватает и регулярок (по вкусу)

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Игорь_Vasinsky
laugh.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Гость_Алексей
Но самое главное, что у меня все работает, как работало. Но инъекция не проводится. Вы мне просто скажите. Реально спасает??? хД Потому что я в замешательстве. Или все же можно провести инъекцию??
Просто я не доверяю не каким данныс Гет пост и.т.д. даже если ввожу их я biggrin.gif
Игорь_Vasinsky
спасает спасает.

тока вы принимаете данные в одном виде - а после обработки оставляете часть данных в другом. часть вы удаляете.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Гость_Алексей
Так критерии поска просты. Только английский, только Адреса.

Пример поиска de_dust2 или de_ или cs1. или 62.33 или 62.33.50.62
И все. Так все работает.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.