Heim > Datenbank > MySQL-Tutorial > Wie kann ich Parameter in SQL-LIKE-Anweisungen korrekt verwenden, um SQL-Injection zu verhindern?

Wie kann ich Parameter in SQL-LIKE-Anweisungen korrekt verwenden, um SQL-Injection zu verhindern?

Linda Hamilton
Freigeben: 2024-12-27 07:38:14
Original
260 Leute haben es durchsucht

How Can I Correctly Use Parameters in SQL LIKE Statements to Prevent SQL Injection?

Verwenden von Parametern in LIKE-Anweisungen für SQL

Problemstellung:

Beim Erstellen einer Suche Funktion ist eine Abfrage mithilfe von Parametern zur Verhinderung von SQL-Injection-Angriffen implementiert:

SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')
Nach dem Login kopieren

Dies ist jedoch der Fall Die Abfrage gibt keine Ergebnisse zurück.

Antwort:

Parameter können effektiv in LIKE-Anweisungen verwendet werden, um SQL-Injection-Angriffe zu verhindern. Die in der ursprünglichen Abfrage verwendete Syntax ist jedoch falsch.

Korrigierte Syntax:

Die korrekte Syntax zur Verwendung von Parametern mit der LIKE-Anweisung lautet:

SELECT * FROM compliance_corner WHERE (body LIKE @query) OR (title LIKE @query)
Nach dem Login kopieren

In diesem Fall ist der Parameter als „@query“ definiert und sein Wert sollte mithilfe eines parametrisierten Parameters zugewiesen werden Abfrage.

Beispiel in VB.NET:

Dim cmd As New SqlCommand(
"SELECT * FROM compliance_corner" _
+ " WHERE (body LIKE @query )" _
+ " OR (title LIKE @query)")

cmd.Parameters.Add("@query", "%" + searchString + "%")
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Parameter in SQL-LIKE-Anweisungen korrekt verwenden, um SQL-Injection zu verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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