在Python 中防止SQL 注入
問題:
問題:您有一個Phon 腳本,更新SQLite 資料庫中的char(80) 值。字串值直接從使用者取得並作為 JSON 負載傳遞到腳本。您知道這種方法容易受到 SQL 注入攻擊。
解決方案:為了防止 SQL 注入,您可以在更新操作中使用參數化查詢。參數化查詢可讓您將值傳遞給 SQL 語句,而無需將它們直接包含在查詢字串中。這可以防止惡意輸入破壞 SQL 語法。 Python sqlite3 函式庫支援透過 ? 進行參數化查詢。佔位符。您可以將值作為與查詢中的佔位符相對應的值元組傳遞給執行方法。
修訂的程式碼:def setLabel( self, userId, refId, label ): self._db.cursor().execute( """ UPDATE items SET label = ? WHERE userId = ? AND refId = ?""", (label, userId, refId) ) self._db.commit()
以上是參數化查詢如何防止 Python 的 SQLite 互動中的 SQL 注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!