Heim >Datenbank >MySQL-Tutorial >Erfahren Sie mehr über SQL-Injection und -Prävention

Erfahren Sie mehr über SQL-Injection und -Prävention

php中世界最好的语言
php中世界最好的语言Original
2018-03-05 15:30:523023Durchsuche

In diesem Artikel werden die Wissenspunkte im Zusammenhang mit der SQL-Injection im Detail anhand des Vergleichs von SQL und MYSQL sowie der Prinzipien der SQL-Injection und der Verhinderung der SQL-Injection analysiert. Ich hoffe, dass er einigen Menschen in Not helfen kann.

1. Was ist SQL-Injection?

SQL-Injection ist eine Angriffstechnik, die SQL-Code zu Eingabeparametern hinzufügt und ihn zur Analyse und Ausführung an den SQL-Server weiterleitet

2. Wie ist es passiert?

Webentwickler können nicht garantieren, dass alle Eingaben gefiltert wurden

Ein Angreifer verwendet die an den SQL-Server gesendeten Eingabedaten, um ausführbaren SQL-Code zu erstellen

Die Datenbank ist nicht entsprechende Sicherheitskonfigurationen vornehmen

3. Wie finde ich SQL-Schwachstellen?

Identifizieren Sie alle Eingabepunkte in der Webanwendung

Verstehen Sie, welche Arten von Anforderungen Ausnahmen auslösen? (Sonderzeichen „ oder ')

Ausnahmen in der Serverantwort erkennen

4. Wie führt man einen SQL-Injection-Angriff durch?

Zahleninjection:

Wählen Sie * aus dem Tabellennamen aus, wobei id=1 oder 1=1;

String-Injection:

Mysqls Kommentarfunktion:

Die Zeichen nach # und -- werden auskommentiert und die Abfrage ist unabhängig vom eingegebenen Passwort korrekt. Klicken Sie hier, um die Bildbeschreibung einzugeben.

5. 🎜>

Überprüfen Sie das Eingabeformat genau: is_numeric(var), tp5s Validierungsüberprüfung, String-Injection verwendet reguläre Ausdrücke, um zu sehen, ob es zwischen [A-Za-z]

Escape: Addslashes liegt (str),

mysqli_escape_string()-Funktion zum Escape

6. MySQLis Vorkompilierungsmechanismus

Parameterisierte Bindung

Parametrisierte Bindung ist ein weiteres Hindernis, um SQL-Injection zu verhindern. Sowohl PHP MySQLi als auch PDO bieten eine solche Funktion:

PDO ist noch praktischer, wie zum Beispiel:

Verwandte Empfehlungen:

SQL-Injection-Website-Methoden

Weitergabe der einfachen und effizienten Methoden von PHP zur Verhinderung der SQL-Injection

Erläuterung der PHP-Methoden zur Verhinderung der SQL-Injection

Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über SQL-Injection und -Prävention. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn