Интересно, мне нужно избежать $ _POST и/или $ _GET массивов в PDO? (ООП)
Пример:
<?php $name = $_POST['name']; ?>
Что я должен сделать, чтобы предотвратить "SQL Injection" с этим? Благодарю.
Интересно, мне нужно избежать $ _POST и/или $ _GET массивов в PDO? (ООП)
Пример:
<?php $name = $_POST['name']; ?>
Что я должен сделать, чтобы предотвратить "SQL Injection" с этим? Благодарю.
Двойной НЕТ.
Что я должен сделать, чтобы предотвратить "SQL Injection"
Любая переменная, которая входит в SQL-запрос, должна быть добавлена только через заполнитель, независимо от того, идет ли она из почтового отправления, GET или ATM-перевода.
если вы используете PDO вы можете использовать подготовить запрос
Здесь у вас есть хорошие примеры:
http://php.net/manual/en/pdo.prepare.php
PDO избежит для вас значение перед запросом (с подготовить заявление) , поэтому вам не нужно об этом беспокоиться.
Вы должны использовать подготовленные заявления. PDO не только выдает значения для вас, но и делает строку запроса более приятной и проще для обслуживания в дальнейшем.
$sql = 'SELECT * FROM users WHERE id=?';
$dbh->execute(array("@p1", $_GET['blah']));
Я использую хэш-PHP, когда мне нужна помощь с PDO, они немного легче понять.
Если вы его приготовите, вам не нужно бежать. Нужен только «isset». –
Возможный дубликат [Как предотвратить SQL-инъекцию в PHP?] (Http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – Quentin