Ho sempre letto che le virgolette non fermano affatto le iniezioni SQL ma non riesco a capire perché no! Per fare un esempio, diciamo che abbiamo la seguente query:SQL Injection riuscito nonostante le citazioni Magic di PHP
SELECT * FROM tablename
WHERE email='$x';
Ora, se l'input dell'utente rende $x=' OR 1=1 --
, la query sarebbe:
SELECT * FROM tablename
WHERE email='\' OR 1=1 --';
La barra inversa verrà aggiunto da Magic Quotes senza danno fatto di sorta!
C'è un modo in cui non vedo dove l'utente può ignorare gli inserimenti di Virgolette qui?
Ho sempre avuto l'impressione che l'iniezione di SQL fosse un problema più serio che probabilmente interessava quasi tutti i tentativi di principianti in uno script. Non riesco ancora a credere che le citazioni magiche ti rendano assolutamente sicuro a meno che tu non abbia usato un set di caratteri multi-byte. –