PDO фильтрация данных

Печать RSS
526

Автор
Пацак
0
Серфил сейчас по статьям о PDO и наткнулся на вот такое:
Теперь давайте вспомним и о безопасности, ведь все данные нужно проверять. Как мы делали это раньше?

$sql = "SELECT * FROM users WHERE name = $name";
$name = $_POST["name"];

// MySQL
$name = mysql_real_escape_string($name);

// SQLite
$name = sqlite_escape_string($name);

// PostgreSQL
$name = pg_escape_string($name);

Теперь же нам не нужно этого делать. PDO сделает всё за нас.


$name = $db->quote($name);
$result = $db->query($sql);

PDO сам всё проверит и обработает переданные данные. Круто?smile Дальше ещё круче!
То есть теперь можно не переживать на счет инъекций или я что то не так понял?
Ну int в любом случае нужно будет проверять на отрицательные числа.
А вот как со string быть?
Прогонять через strip_tags и потом не боясь в бд записывать?

Господин ПЖ
0
1. XwiruS, во всех современных фреймворках данные фильтруют на выводе из БД, а в базу пишут так как есть
используй плейсхолдеры, чтобы не было инъекции, а quote вроде как заключает строки в кавычки для использования в запросе
Автор
Пацак
0
2. Vantuz, То есть булки расслаблять не стоит.
А про плейсхолдеры сейчас погуглю. Спс.
R

Пришелец
0
1. XwiruS, Только проснулся?) И вообще про mysql_ надо было забыть года три назад )
Автор
Пацак
0
4. Reflesh, не было необходимости)
В

Кодер
0
Vantuz, PDO::quote() заключает строку в кавычки (если требуется) и экранирует специальные символы внутри строки подходящим для драйвера способом.

2000 лет д.н.э.
0
1. XwiruS, во всех современных фреймворках данные фильтруют на выводе из БД, а в базу пишут так как есть
используй плейсхолдеры, чтобы не было инъекции, а quote вроде как заключает строки в кавычки для использования в запросе
Vantuz (10.03.15 / 21:42)
и в чем сокрытый смысл парсить текст каждый раз на выходе, чем один раз на входе?

Веем холодом
0
Вот документацию сейчас никто не любит читать sad

Голубые штаны
0
ramzes, Поддерживаю.
Изменил: Дмитрий (18.08.2016 / 06:35)
N

Эцилопп сией тентуры
0
1. XwiruS, во всех современных фреймворках данные фильтруют на выводе из БД, а в базу пишут так как есть
используй плейсхолдеры, чтобы не было инъекции, а quote вроде как заключает строки в кавычки для использования в запросеVantuz (10.03.15 / 21:42)
и в чем сокрытый смысл парсить текст каждый раз на выходе, чем один раз на входе?
ramzes (17.08.16 / 03:20)Vantuz (10.03.15 / 21:42)
Любит наш народ делать кучу запросов в бд, кучу выборок, кучу обработок исходящих данных. Пора привыкнуть к этому
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск