Какие дыры остаются даже после mysql_real_escape_string?

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

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

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

2 ответа

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

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

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

Другие вопросы по тегам