Skip to main content
Удалено пояснение «Необходим чёткий ответ» участником vp_arth
Конкурс завершён выбором ответа участника Ипатьев участником vp_arth
Добавлено пояснение «Необходим чёткий ответ» участником vp_arth
Конкурс начат стоимостью 100 баллов репутации участником vp_arth
в текст добавлено 27 символов
Источник Ссылка

В мире уже давно в ходуиспользуются mysqli и PDO. Многие очень активно их пропагандируют: есть подготовленные переменные, всё становится безопасно и прпрочее.

Вот, допустим, есть абстрактный код:

$dbh = new PDO("test");    
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute(array(':username' => $_REQUEST['username']));

или

$dbh = new PDO("test");  
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND color = ?');
$sth->execute(array($_POST['number'], $_POST['color']));

И всё...

Этого достаточно и ничего больше не надо делать? Никакие конструкции вида mysqli_real_escape_string (для mysqli) и прочие шаманства? Или все же нет?

Собственно, хотелось бы знать, если код выше не защищает, то как делать правильно с запросами с PDO и mysqli (и почему тогда говорят про безопасность)? Какие есть наглядные примеры безопасного исполнения запроса, используя PDO и mysqli? А Если и правда защищает, то... я в шоке))


P.S. Возможно данный вопрос уже рассматривался, не знаю, заранее извините.

В мире уже давно в ходу mysqli и PDO. Многие очень активно их пропагандируют: есть подготовленные переменные, всё становится безопасно и пр.

Вот, допустим, есть абстрактный код:

$dbh = new PDO("test");    
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute(array(':username' => $_REQUEST['username']));

или

$dbh = new PDO("test");  
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND color = ?');
$sth->execute(array($_POST['number'], $_POST['color']));

И всё...

Этого достаточно и ничего больше не надо делать? Никакие mysqli_real_escape_string (для mysqli) и прочие шаманства? Или все же нет?

Собственно, хотелось бы знать, если код выше не защищает, то как делать правильно с запросами с PDO и mysqli (и почему тогда говорят про безопасность)? Какие есть наглядные примеры безопасного исполнения запроса, используя PDO и mysqli? А Если и правда защищает, то... я в шоке))


P.S. Возможно данный вопрос уже рассматривался, не знаю, заранее извините.

В мире уже давно используются mysqli и PDO. Многие очень активно их пропагандируют: есть подготовленные переменные, всё становится безопасно и прочее.

Вот, допустим, есть абстрактный код:

$dbh = new PDO("test");    
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute(array(':username' => $_REQUEST['username']));

или

$dbh = new PDO("test");  
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND color = ?');
$sth->execute(array($_POST['number'], $_POST['color']));

И всё...

Этого достаточно и ничего больше не надо делать? Никакие конструкции вида mysqli_real_escape_string (для mysqli) и прочие шаманства? Или все же нет?

Собственно, хотелось бы знать, если код выше не защищает, то как делать правильно с запросами с PDO и mysqli (и почему тогда говорят про безопасность)? Какие есть наглядные примеры безопасного исполнения запроса, используя PDO и mysqli? А Если и правда защищает, то... я в шоке))


P.S. Возможно данный вопрос уже рассматривался, не знаю, заранее извините.

из текста удалён 1 символ
Источник Ссылка

В мире в ходу уже давно естьв ходу mysqli и PDO. Многие очень активно их пропагандируют, что: есть подготовленные переменные, всё становится безопасно и пр.

Вот, допустим, есть абстрактный код:

$dbh = new PDO("test");    
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute(array(':username' => $_REQUEST['username']));

или

$dbh = new PDO("test");  
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND color = ?');
$sth->execute(array($_POST['number'], $_POST['color']));

И всё...

Этого достаточно и ничего больше не надо делать? Никакие mysqli_real_escape_string (для mysqli) и прочие шаманства? Или все же нет?

Собственно, хотелось бы знать, если код выше не защищает, то как делать правильно с запросами с PDO и mysqli (и почему тогда говорят про безопасность)? Какие есть наглядные примеры безопасного исполнения запроса, используя PDO и mysqli? А Если и правда защищает, то... я в шоке))


P.S. Возможно данный вопрос уже рассматривался, не знаю, заранее извините.

В мире в ходу уже давно есть mysqli и PDO. Многие очень активно их пропагандируют, что есть подготовленные переменные, всё становится безопасно.

Вот допустим есть абстрактный код:

$dbh = new PDO("test");    
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute(array(':username' => $_REQUEST['username']));

или

$dbh = new PDO("test");  
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND color = ?');
$sth->execute(array($_POST['number'], $_POST['color']));

И всё.

Этого достаточно и ничего больше не надо делать? Никакие mysqli_real_escape_string (для mysqli) и прочие шаманства? Или все же нет?

Собственно, хотелось бы знать, если код выше не защищает, то как делать правильно с запросами с PDO и mysqli (и почему тогда говорят про безопасность)? Какие есть наглядные примеры безопасного исполнения запроса, используя PDO и mysqli? А Если и правда защищает, то... я в шоке))


P.S. Возможно данный вопрос уже рассматривался, не знаю, заранее извините.

В мире уже давно в ходу mysqli и PDO. Многие очень активно их пропагандируют: есть подготовленные переменные, всё становится безопасно и пр.

Вот, допустим, есть абстрактный код:

$dbh = new PDO("test");    
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute(array(':username' => $_REQUEST['username']));

или

$dbh = new PDO("test");  
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND color = ?');
$sth->execute(array($_POST['number'], $_POST['color']));

И всё...

Этого достаточно и ничего больше не надо делать? Никакие mysqli_real_escape_string (для mysqli) и прочие шаманства? Или все же нет?

Собственно, хотелось бы знать, если код выше не защищает, то как делать правильно с запросами с PDO и mysqli (и почему тогда говорят про безопасность)? Какие есть наглядные примеры безопасного исполнения запроса, используя PDO и mysqli? А Если и правда защищает, то... я в шоке))


P.S. Возможно данный вопрос уже рассматривался, не знаю, заранее извините.

Опубликовано в Твиттере twitter.com/ruStackOverflow/status/840428296089280513
в текст добавлено 17 символов
Источник Ссылка

В мире в ходу уже давно есть mysqli и PDO. Многие очень активно их пропагандируют, что есть подготовленные переменные, всё становится безопасно.

Вот допустим есть абстрактный код:

$dbh = new PDO("test");    
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute(array(':username' => $_REQUEST['username']));

или

$dbh = new PDO("test");  
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND color = ?');
$sth->execute(array($_POST['number'], $_POST['color']));

И всё. 

Этого достаточно и ничего больше не надо делать? Никакие mysqli_real_escape_string (для mysqli) и прочие шаманства? Или все же нет?

Собственно, хотелось бы знать, если код выше не защищает, то как делать правильно с запросами с PDO и mysqli (и почему тогда говорят про безопасность)? Какие есть наглядные примеры безопасного исполнения запроса, используя PDO и mysqli? А Если и правда защищает, то... я в шоке))


P.S. Возможно данный вопрос уже рассматривался, не знаю, заранее извините.

В мире в ходу уже давно mysqli и PDO. Многие очень активно их пропагандируют, что есть подготовленные переменные, всё становится безопасно.

Вот допустим есть абстрактный код:

$dbh = new PDO("test");    
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute(array(':username' => $_REQUEST['username']));

или

$dbh = new PDO("test");  
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND color = ?');
$sth->execute(array($_POST['number'], $_POST['color']));

И всё. Этого достаточно и ничего больше не надо делать? Никакие mysqli_real_escape_string (для mysqli) и прочие шаманства? Или нет?

Собственно хотелось бы знать, если код выше не защищает, то как делать правильно с запросами с PDO и mysqli (и почему тогда говорят про безопасность)? Какие есть наглядные примеры безопасного исполнения запроса, используя PDO и mysqli? А Если и правда защищает, то... я в шоке))


P.S. Возможно данный вопрос уже рассматривался, не знаю, заранее извините.

В мире в ходу уже давно есть mysqli и PDO. Многие очень активно их пропагандируют, что есть подготовленные переменные, всё становится безопасно.

Вот допустим есть абстрактный код:

$dbh = new PDO("test");    
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute(array(':username' => $_REQUEST['username']));

или

$dbh = new PDO("test");  
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND color = ?');
$sth->execute(array($_POST['number'], $_POST['color']));

И всё. 

Этого достаточно и ничего больше не надо делать? Никакие mysqli_real_escape_string (для mysqli) и прочие шаманства? Или все же нет?

Собственно, хотелось бы знать, если код выше не защищает, то как делать правильно с запросами с PDO и mysqli (и почему тогда говорят про безопасность)? Какие есть наглядные примеры безопасного исполнения запроса, используя PDO и mysqli? А Если и правда защищает, то... я в шоке))


P.S. Возможно данный вопрос уже рассматривался, не знаю, заранее извините.

Источник Ссылка
Загрузка