Какие дыры остаются даже после mysql_real_escape_string? - PullRequest
0 голосов
/ 22 февраля 2012

Насколько безопасен вход после прохождения через эту функцию?

Это 100% безопасно?

$id = $_POST['id'];
$id = mysql_real_escape_string($id);

Ответы [ 2 ]

1 голос
/ 22 февраля 2012
1 голос
/ 22 февраля 2012

Лучший способ - вообще не смешивать SQL с предоставленными пользователем данными, используя подготовленные операторы.

В вашем случае (при условии, что id - это число), просто используйте $id = intval($_POST['id']);.С простым целым числом вы ничего не можете ввести.Вам даже не нужно mysql_real_escape_string() n в этом случае.

Для строковых аргументов достаточно использовать mysql_real_escape_string() - но никогда не забывайте ставить в кавычки аргумент в строке SQL!

...