|
|
|
| Подскажите достаточно ли такого
небольшой пример
<?php
$dbr = Database::$content->prepare("INSERT INTO guest (name,value, time) VALUES (:name, :value, :time)");
$dbr->bindParam(':name', $_POST['name'], PDO::PARAM_STR);
$dbr->bindParam(':value', $_POST['value'], PDO::PARAM_STR);
$dbr->bindParam(':time', time(), PDO::PARAM_INT);
$dbr->execute();
|
защищает ли такой код от sql-инъекции, от битых данных при работе с sqlite, чтобы не повредить базу
и второй вопрос как место time() поставить значение константы, а то выдает ошибку | |
|
|
|
|
|
|
|
для: Visavi
(16.08.2009 в 16:51)
| | Любой bind-метод (не только в pdo - в MySQLi, MSSQL, ORACLE, PGSQL - вообще где угодно) своей основной задачей ставит внедрение значения переменной в тело запроса в качестве параметра.
Следовательно, никакие инъекции через bind невозможны в принципе.
привязать к запросу можно только переменную.
Что не мешает ей присвоить значение функции. | |
|
|
|
|
|
|
|
для: Trianon
(16.08.2009 в 17:16)
| | но ведь к примеру sqlite_escape_string() например как-то обрабатывает одинарные ковычки и двоично-небезопасные символы которые могут повредить базу, так написано http://ru.php.net/sqlite_escape_string
можно ли быть увереным что через bind все будет в порядке, вот именно эти "двоично-небезопасные символы " меня беспокоят | |
|
|
|
|
|
|
|
для: Visavi
(16.08.2009 в 18:30)
| | >но ведь к примеру sqlite_escape_string() например как-то обрабатывает одинарные ковычки и двоично-небезопасные символы которые могут повредить базу, так написано http://ru.php.net/sqlite_escape_string
где там хоть слово про bind? | |
|
|
|
|
|
|
|
для: Trianon
(16.08.2009 в 18:32)
| | я спрашиваю будет ли достаточно переменные обработать через bind, чтобы быть уверенным что с базой sqlite все будет в порядке | |
|
|
|
|
|
|
|
для: Visavi
(16.08.2009 в 18:56)
| | >я спрашиваю будет ли достаточно переменные обработать через bind, чтобы быть уверенным что с базой sqlite все будет в порядке
Конечно, недостаточно.
К примеру, запрос DROP TABLE может уничтожить таблицу безо всякой передачи параметров. | |
|
|
|