我使用过的SQL python库提供了查询参数的卫生,以防止注入攻击,如果您使用('query == $0', param)
方法,但是如果您自己创建了字符串,则{{1} }。在Rem Native的Realm中是否相同?
('query == param')
和results.filtered(`query == ${param}`)
之间是否存在功能差异?
答案 0 :(得分:0)
是的,这些是不同的,filtered('query == $0', param)
无论param
的内容如何都会有效,而filtered(`query == ${param}`)
则不会。
替换参数语法不会清理输入本身。低级查询引擎的接口不是基于字符串的,因此与SQL库不同,根本没有涉及参数替换的查询字符串,因此实际上不需要进行任何清理。不过,最终结果基本相同。