|
01.06.2011, 17:38
|
Человек
|
|
Регистрация: 10.03.2011
Сообщений: 305
|
|
Защита от SQL инекций
Добрый день.
Взгляните на код запроса пожалуйста. Достаточно ил таких проверок для устранения угрозы?
$strquery = "SELECT * FROM `topics` WHERE `id`='%d'";
$query = sprintf($strquery,mysql_real_escape_string($_GET[id]));
__________________
XYZ
|
|
01.06.2011, 23:13
|
Аспирант
|
|
Регистрация: 31.07.2010
Сообщений: 94
|
|
Ё, чувак, как ты умудрился заработать такую карму(-751)?
|
|
02.06.2011, 00:30
|
Человек
|
|
Регистрация: 10.03.2011
Сообщений: 305
|
|
firstchild,
Наверное такой результат потому, что я её не зарабатывал.Ё
__________________
XYZ
|
|
02.06.2011, 00:34
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
во-первых, такое впечатление, что ты все свои знания вложил в эту строку, лишь бы как-нибудь чего-нибудь не просочилось. Это называется уличная магия. В данном случае достаточно убрать все нечисловые символы либо проверить их наличие. Во-вторых, не надо сравнивать со строковым значением, если столбец численный. В-третьих, используй фреймворки
|
|
02.06.2011, 09:13
|
Аспирант
|
|
Регистрация: 31.07.2010
Сообщений: 94
|
|
Ё, int?
$strquery = "SELECT * FROM `topics` WHERE `id`='".(int)$_GET['id']."'";
пакажи мне чудо
|
|
02.06.2011, 09:53
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
вы, конечно, можете сказать, что int'а в любом случае хватит. Но я бы сделал лучше, если тип столбца не помещается в int. Потому что это не сложно: либо is_numeric, либо filter_var('122312147483648', FILTER_SANITIZE_NUMBER_INT). Хотя возможно бд и к числу в виде строки адекватно отнесется, надо проверять
|
|
02.06.2011, 11:04
|
Человек
|
|
Регистрация: 10.03.2011
Сообщений: 305
|
|
Прекрасно.
__________________
XYZ
|
|
03.06.2011, 10:03
|
Человек
|
|
Регистрация: 10.03.2011
Сообщений: 305
|
|
Сообщение от x-yuri
|
во-первых, такое впечатление, что ты все свои знания вложил в эту строку, лишь бы как-нибудь чего-нибудь не просочилось. Это называется уличная магия. В данном случае достаточно убрать все нечисловые символы либо проверить их наличие. Во-вторых, не надо сравнивать со строковым значением, если столбец численный. В-третьих, используй фреймворки
|
Я так понимаю это комплимент_)_
__________________
XYZ
|
|
03.06.2011, 11:03
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
Сообщение от 0931454574
|
во-первых, такое впечатление, что ты все свои знания вложил в эту строку,
|
не похоже это на комплимент...
Последний раз редактировалось dmitriymar, 03.06.2011 в 11:57.
|
|
|
|