Haohappy
http://blog.csdn.net/Haohappy2004
Der SQL-Injection-Angriff ist die häufigste Methode, mit der Hacker Websites angreifen. Wenn Ihre Site keine strenge Benutzereingabevalidierung verwendet, ist sie sehr anfällig für SQL-Injection-Angriffe. SQL-Injection-Angriffe werden in der Regel durch die Übermittlung fehlerhafter Daten oder Abfrageanweisungen an die Site-Datenbank implementiert, was dazu führen kann, dass Datensätze in der Datenbank offengelegt, geändert oder gelöscht werden. Lassen Sie uns darüber sprechen, wie SQL-Injection-Angriffe implementiert werden und wie man sie verhindert.
Schauen Sie sich dieses Beispiel an:
// angebliche Eingabe
$name = "ilia'; VON Benutzern LÖSCHEN;";
mysql_query("SELECT * FROM users WHERE name='{$name}'");
Es ist offensichtlich, dass der letzte von der Datenbank ausgeführte Befehl lautet:
SELECT * FROM users WHERE name=ilia;
Dies hatte katastrophale Folgen für die Datenbank – alle Datensätze wurden gelöscht.
Wenn Sie jedoch eine MySQL-Datenbank verwenden, können Sie mit der Funktion mysql_query() solche Vorgänge glücklicherweise nicht direkt ausführen (mehrere Anweisungsvorgänge können nicht in einer einzigen Zeile ausgeführt werden), sodass Sie beruhigt sein können. Wenn die von Ihnen verwendete Datenbank SQLite oder PostgreSQL ist und solche Anweisungen unterstützt, werden Sie in eine Katastrophe geraten.