我有一段Python代码,用于在sqlite数据库中设置char(80)类型的值。
该字符串直接从用户通过文本输入字段获取,并以JSON结构通过POST方法发送回服务器。
在服务器端,我当前将字符串传递给调用SQL UPDATE操作的方法。
它可以工作,但我知道它根本不安全。
我预计客户端也不安全,因此任何保护都应该放在服务器端。如何保护UPDATE操作免受SQL注入攻击?
我正在寻找一种函数来"引用"文本,使其不能混淆SQL解析器。我希望这样的函数存在,但找不到它。
编辑:这是我目前设置字符字段名称标签的代码:
该字符串直接从用户通过文本输入字段获取,并以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()