Heim > Datenbank > MySQL-Tutorial > Hauptteil

So verhindern Sie SQL-Injection in der Web-Sicherheit

little bottle
Freigeben: 2019-04-29 13:31:16
nach vorne
3072 Leute haben es durchsucht

Bei der SQL-Injection wird ein SQL-Befehl in ein Webformular eingefügt, um einen Domänennamen oder eine Abfragezeichenfolge für eine Seitenanforderung zu übermitteln und letztendlich den Server dazu zu verleiten, böswillige SQL-Befehle auszuführen. Beispielsweise bei vielen früheren Film- und Fernsehwebsites Durchgesickerte VIP-Mitgliedschaftskennwörter werden beim Absenden eines WEB-Formulars offengelegt. Diese Art von Formular ist besonders anfällig für SQL-Injection-Angriffe.

SQL-Injection-Prinzip

Wenn eine Anwendung Eingabeinhalte verwendet, um dynamische SQL-Anweisungen für den Zugriff zu erstellen Datenbank Wenn ein SQL-Injection-Angriff auftritt. Eine SQL-Injection kann auch auftreten, wenn der Code gespeicherte Prozeduren verwendet, die als Zeichenfolgen mit ungefilterten Benutzereingaben übergeben werden.

SQL-Injection kann es einem Angreifer ermöglichen, die Anwendungsanmeldung zu verwenden, um Befehle in der Datenbank auszuführen. Dieses Problem kann schwerwiegend werden, wenn eine Anwendung ein überprivilegiertes Konto verwendet, um eine Verbindung zur Datenbank herzustellen. In einigen Formularen wird der vom Benutzer eingegebene Inhalt direkt zum Erstellen dynamischer SQL-Befehle oder als Eingabeparameter für gespeicherte Prozeduren verwendet. Diese Formulare sind besonders anfällig für SQL-Injection-Angriffe. Beim Schreiben vieler Website-Programme wird die Rechtmäßigkeit der Benutzereingaben nicht beurteilt oder die Variablen im Programm werden nicht ordnungsgemäß behandelt, was zu Sicherheitsrisiken in der Anwendung führt. Auf diese Weise kann der Benutzer einen Datenbankabfragecode übermitteln und einige vertrauliche Informationen erhalten oder den gesamten Server basierend auf den vom Programm zurückgegebenen Ergebnissen steuern, sodass eine SQL-Injection erfolgt.

Wie verhindert man SQL-Injection?

  1. Vertrauen Sie niemals Benutzereingaben. Um die Eingabe des Benutzers zu überprüfen, können Sie reguläre Ausdrücke verwenden oder die Länge begrenzen; dann konvertieren Sie sensible Symbole wie einfache Anführungszeichen und doppelte „-“.
  2. Verwenden Sie keine dynamische Assemblierung von SQL. Sie können parametrisiertes SQL verwenden oder direkt gespeicherte Prozeduren für die Datenabfrage und den Zugriff verwenden.
  3. Verwenden Sie niemals Administrator-Datenbankverbindungen, sondern separate Datenbankverbindungen mit eingeschränkten Berechtigungen für jede Anwendung.
  4. Speichern Sie vertrauliche Informationen nicht direkt, verschlüsseln oder hashen Sie Passwörter und vertrauliche Informationen nicht.
  5. Die Ausnahmeinformationen der Anwendung sollten so wenige Hinweise wie möglich geben. Am besten verwenden Sie benutzerdefinierte Fehlerinformationen, um die ursprünglichen Fehlerinformationen zu umschließen.

Verwandte Tutorials: SQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo verhindern Sie SQL-Injection in der Web-Sicherheit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!