2017-10-07 2 views
0

Ich verstehe, wenn es keinen Schutz (Verdoppelung ‚auf‚‘) wir einfachSQL-Injection, wenn Server verdoppelt Apostroph

können
'or'1=1-- 

aber wie kann ich das erreichen, wenn der Server die‘ verdoppelt? Aus meinen Recherchen geht hervor, dass wir das verwenden, aber ich bin immer noch verwirrt wie.

Ich habe versucht:

\'or\'1=1-- 

Aber ich bekomme einen Syntaxfehler. Was verstehe ich falsch? Vielen Dank

+0

was fragen Sie? – Ravi

+0

Bitte fügen Sie Ihren vollständigen Code, den Sie gerade testen, hinzu. -HTH;). –

Antwort

0

Wenn Sie versuchen, SQL-Injection zu vermeiden, empfiehlt es sich, Funktionen zu vermeiden, die direkt Abfragen in die Datenbank einfügen (z. B. mysqli_query()). Stattdessen können gespeicherte Prozeduren und vorbereitete Anweisungen eine Schutzschicht gegen SQL-Injektion bieten Siehe. prepared statements auf w3schools und stored procedures auf MySQLTutorial.

Allerdings können Sie Ihr Problem beheben mit Apostroph Einfügen (‘und„) mit einfach den PHP-Funktionen mysqli_real_escape_string() und htmlspecialchars() auf allen eingegebenen Daten. Diese Methode ist keineswegs sicher, aber es wird erlauben, dass Daten mit diesen Zeichen eingefügt werden und - wer weiß - einen sehr behebenden Hacker stoppen.