首頁 > 資料庫 > mysql教程 > 如何正確使用SQL LIKE語句中的參數來防止SQL注入?

如何正確使用SQL LIKE語句中的參數來防止SQL注入?

Linda Hamilton
發布: 2024-12-27 07:38:14
原創
201 人瀏覽過

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

在 SQL 的 LIKE語句中使用參數

問題陳述:

建立搜尋時函數中,使用參數來防止SQL注入攻擊的查詢是實現:

SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')
登入後複製

但是,此查詢不會傳回任何結果。

答案:

參數可以在 LIKE 語句中有效使用以防止SQL注入攻擊。但是,原始查詢中使用的語法不正確。

更正的語法:

在LIKE 語句中使用參數的正確語法是:

SELECT * FROM compliance_corner WHERE (body LIKE @query) OR (title LIKE @query)
登入後複製

在這種情況下,參數定義為“@query”,並且應使用參數化來分配其值查詢。

VB.NET 中的範例:

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

cmd.Parameters.Add("@query", "%" + searchString + "%")
登入後複製

以上是如何正確使用SQL LIKE語句中的參數來防止SQL注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板