首頁 >資料庫 >mysql教程 >在 Python 中透過 JSON POST 更新 SQLite 資料庫時如何防止 SQL 注入?

在 Python 中透過 JSON POST 更新 SQLite 資料庫時如何防止 SQL 注入?

DDD
DDD原創
2025-01-04 21:35:41845瀏覽

How to Prevent SQL Injection When Updating an SQLite Database via JSON POST in Python?

Python 中的SQL 注入保護

問題:

問題:

為了防止🎜>為了防止漏洞注入漏洞,如何清理從使用者接收並透過JSON POST 發送的字串,以便在SQLite資料庫中進行安全更新操作Python?

答案:

利用參數化查詢

降低 SQL 注入風險的建議方法是使用參數化查詢。 Python 的 sqlite3 模組透過佔位符參數 (?) 支援此功能。它不是將使用者輸入直接連接到 SQL 語句中,而是作為參數傳遞,將使用者輸入與 SQL 語法分開。

def setLabel(self, userId, refId, label):
    cursor = self._db.cursor()
    query = """UPDATE items SET label = ? WHERE userId IS ? AND refId IS ?"""
    cursor.execute(query, (label, userId, refId))
    self._db.commit()

修訂的程式碼:

透過使用參數化查詢,標籤輸入中的任何潛在惡意字元或元字元都會自動轉義,確保它們被解釋為文字文字而不是SQL指令。

以上是在 Python 中透過 JSON POST 更新 SQLite 資料庫時如何防止 SQL 注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn