我在 Python 中有一些代码在 sqlite DB 中设置一个 char(80) 值。
该字符串是通过文本输入字段直接从用户那里获取的,并使用 JSON 结构中的 POST 方法发送回服务器。
在服务器端,我目前将字符串传递给调用 SQL UPDATE 操作的方法。
它有效,但我知道它根本不安全。
我希望客户端无论如何都是不安全的,所以任何保护都应该放在服务器端。我可以做些什么来保护 UPDATE 操作再次 SQL 注入?
我正在寻找一个可以“引用”文本以使其不会混淆 SQL 解析器的函数。我希望这样的功能存在但找不到。
编辑: 这是我当前设置字符字段名称标签的代码:
def setLabel( self, userId, refId, label ):
self._db.cursor().execute( """
UPDATE items SET label = ? WHERE userId IS ? AND refId IS ?""", ( label, userId, refId) )
self._db.commit()