{% else-1 %}
Nets * 0.72
(21 июл 2016, 14:39) (0/0) [0]
Тема закрыта для обсуждения! *
Nets * 0.72
(21 июл 2016, 13:54) (0/0) [0]
apolscky, mysql_escape_string и pdo->quote() работают по-разному — последние автоматически приписывают кавычки
(с) хабр
Nets * 0.72
(21 июл 2016, 13:51) (0/0) [0]
Victor, не знаю о какой статье ты говоришь, но в случае с htmlspecialchars она поможет преобразовать кавычки тем самым уменьшить вероятность sql inj
Nets * 0.72
(21 июл 2016, 13:49) (0/0) [0]
Zдешний, тоже подумал, что обертка самый верный способ
Nets * 0.72
(21 июл 2016, 00:40) (0/0) [0]
Wins, а разве нет? Зачем тогда вообще делать проект если он изнутри не полностью защищен
Nets * 0.72
(21 июл 2016, 00:38) (0/0) [0]
Wins, по сути в pdo тоже самое, можно подготовленный, можно обычный, но обычный же надо фильтровать, вот к чему клоню
Nets * 0.72
(21 июл 2016, 00:28) (0/0) [0]
Думаю каждый задумывался на вопросом как же правильно фильтровать пред записью в бд.
Есть несколько вариантов фильтрации, но они не дают 100% защиты от sql-injection

1 вариант htmlspecialchars
<?php
$_POST['text'] = htmlspecialchars($_POST['text']);
?>
Ее конечно можно применять перед вставкой в базу, но не надо думать, что она защитит от инъекций. Инъекции - это не только кавычки.

2 вариант magic qoutes

<?php
$_POST['text'] = addcslashes($_POST['text']);
?>
Экранирует кавычи, но и опять же не стоит забывать, что: Инъекции - это не только кавычки.

***
Самой безопасной ф-цией считается mysql_escape_string но её нету в PDO, но в нем есть prepare/execute, что безопасно, но не совсем удобно, к примеру если нужно проверить существование строки в таблице нужно будет писать тонну кода, но куда проще использовать обычный запрос query
***

Выслушаю ваши варианты по поводу фильтрирования *
  • 1 из 1