WebGraf » 2009.12.08 16:55

mysql_query("SELECT `id` FROM `files` WHERE `id`='$d' ;");
или
mysql_query('SELECT `id` FROM `files` WHERE `id`="'.$d."' ');
со стороны защиты как полагается?
Добавлено спустя   7 минут  9 секунд:
При условии что $id передается гет или пост способом

DarkDaNTe » 2009.12.08 18:35

никакая. У тебя не та переменная в запросе, которую ты указывал. ($id)
И вообще при чем защита в "" или '' кавычках?

Fuelen » 2009.12.08 18:54

WebGraf написал:

mysql_query("SELECT `id` FROM `files` WHERE `id`='$d' ;");
или
mysql_query('SELECT `id` FROM `files` WHERE `id`="'.$d."' ');
со стороны защиты как полагается?
Добавлено спустя   7 минут  9 секунд:
При условии что $id передается гет или пост способом

Если фильтрировал значение переменной перед запросом, то опасности иньекции нет.

НЕЗНАЙКА » 2009.12.08 19:00

У тебя и так ничего не пройдет:lol: Запрос неверный. Фильтр abs($_GET['d']) и не беспокойся

WebGraf » 2009.12.08 19:43

это только пример. подставьте другую переменную
ну к примеру так
mysql_query("SELECT `name` FROM `files` WHERE `id`='".mysql_real_escape_string$_GET['d']."' ;");

Gemorroj » 2009.12.08 20:39

очень желательно иметь переменную с ресурсом коннекта к бд еще.
mysql_query("SELECT `name` FROM `files` WHERE `id`='" . mysql_real_escape_string($_GET['d']) . "' ;");
вполне достаточно

WebGraf » 2009.12.08 23:08

Gemorroj написал:

очень желательно иметь переменную с ресурсом коннекта к бд еще.
mysql_query("SELECT `name` FROM `files` WHERE `id`='" . mysql_real_escape_string($_GET['d']) . "' ;");
вполне достаточно

а если такой же код но с одинарными кавычками?
"переменную с ресурсом коннекта" - а что оно меняет?

Morgan » 2009.12.08 23:22

А чем вам
mysql_query("SELECT name FROM table WHERE `id`=".intval($_GET['id']))

WebGraf » 2009.12.08 23:33

НЕЗНАЙКА написал:

abs

Я не говорил что переменная $d числовая
id навел просто как пример. может ведь использоватся и name files ... короче все что угодно
Я просто хотел более глобально рассмотреть ситуацию, а не конкретный пример
Добавлено спустя   2 минуты  19 секунд:

Morgan написал:

А чем вам
mysql_query("SELECT name FROM table WHERE `id`=".intval($_GET['id']))

смотрите мой ответ Незнайке

WebGraf » 2009.12.08 23:54

на счет фильтрации, то все переменные в запросах фильтруются у меня , если стринг то  htmlspecialchars и mysql_real_escape_string, если числовое то intval

WebGraf » 2009.12.12 11:27

WebGraf написал:

Gemorroj написал:

очень желательно иметь переменную с ресурсом коннекта к бд еще.
mysql_query("SELECT `name` FROM `files` WHERE `id`='" . mysql_real_escape_string($_GET['d']) . "' ;");
вполне достаточно

"переменную с ресурсом коннекта" - а что оно меняет?

?

Gemorroj » 2009.12.12 11:54

у тебя всегда будет актуальный ресурс, а не ПОСЛЕДНИЙ открытый.