Ответов: 6 Просмотров: 606
|
Фильтровать нужно всегда.
Варианта у тебя 2.
Либо до передачи запроса оболочке(твоему классу)
Либо уже в самой оболочке.
Оба варианта имеют право жить.
Первый вариант с фильтрацией до оболочки выглядит так:
$DB->query("SELECT `a` FROM `b` WHERE `c`=".intval('d'));
Второй может выглядеть так:
$DB->select("SELECT `a` FROM `b` WHERE `c`=? AND `d`=?, Array
(
"1' OR 1=1 ; --",
"paramD"
));
И твоя оболочка сама экранирует параметры перед вставкой.
Второй метод хорош тем, что программисту не придется вспоминать об экранировании.
Первый выглядит лучше =) |