我正在使用 SQLAlchemy 连接到 Python 中的不同数据库,但没有使用 ORM 支持,因为由于多种原因无法实现。
主要是我使用类似的东西构建了一个复杂的 SQL 查询
sql += "AND fieldname = '%s'" % myvar
在我的例子中,这不是 SQL 注入的问题,因为数据始终来自受信任的来源,但即使来源受信任,它也可能包含可能破坏查询的字符,例如 '
, %
或 _
。
主要是,我需要对它们进行转义,我想知道是否已经存在可以重复使用的转义函数。
原文由 sorin 发布,翻译遵循 CC BY-SA 4.0 许可协议
你不应该尝试实现你自己的转义,而应该使用 SQLAlchemy 的内置方法: