Я всегда читал, что магические кавычки вообще не останавливают SQL-инъекции, но я не могу понять, почему нет! В качестве примера, скажем, у нас есть следующий запрос:
SELECT * FROM tablename
WHERE email='$x';
Теперь, если пользовательский ввод составляет $x=' OR 1=1 --
, запрос будет:
SELECT * FROM tablename
WHERE email='\' OR 1=1 --';
Обратная косая черта будет добавлена магическими кавычками без какого-либо ущерба!
Есть ли способ, которым я не вижу, где пользователь может обойти вставки Magic Quote здесь?