SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.02.2012 14:30:20

Garik
Завсегдатай
Зарегистрирован: 26.05.2010
Сообщений: 27

PDO и sql-инъекции

Приветствую!
Решил перейти на PHP PDO и возник такой вопрос, нужно ли использовать функцию mysql_real_escape_string и (int)$id для использования переменных в запросах для защиты от инъекций или PDO сам обо всем позаботится?

Отредактированно Garik (01.02.2012 14:31:08)

Неактивен

 

#2 01.02.2012 17:41:50

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: PDO и sql-инъекции

Для аргументов функции execute не нужно, а если встраиваете значения в сам sql-запрос, то нужно.

Неактивен

 

#3 01.02.2012 19:14:18

Garik
Завсегдатай
Зарегистрирован: 26.05.2010
Сообщений: 27

Re: PDO и sql-инъекции

Я правильно понял, что если делать так, то это безопасно:

$sql = "INSERT INTO table SET field1 = :var1, field2 = :var2";
$sth = $dbh->prepare($sql);
$params = array (':var1' => $var1, ':var2' => $var2);
$sth->execute($params);

Отредактированно Garik (01.02.2012 19:16:54)

Неактивен

 

#4 01.02.2012 19:17:38

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: PDO и sql-инъекции

да, так безопасно

Неактивен

 

#5 01.02.2012 19:21:21

Garik
Завсегдатай
Зарегистрирован: 26.05.2010
Сообщений: 27

Re: PDO и sql-инъекции

Ясно, спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson