我有一个订单管理系统。
QUERY
的数据库表中(在CLAUSE
列中)。CLAUSE
列中的值示例如下:
((woclass = 'WORKORDER' or woclass = 'ACTIVITY') and contains(description,'$paint') > 0 and historyflag = 0 and istask = 0 and siteid = 'SERVICES')
我正在学习如何正确地将WMS系统与一个单独的GIS系统集成(这两个系统都是基于broswer/Oracle/内部系统的)。
我想利用保存的WMS查询,将它们集成到GIS系统的web地图中。我将编写一个GIS小部件(JavaScript),允许用户从QUERY
表中选择和执行查询。
QUERY
表中选择WHERE子句名,从CLAUSE
列中提取值,并在自定义的过滤工具中使用它(以查询GIS )。上面提到的GIS小部件是否容易被注入?如果是的话,我能做些什么来保证它的安全?
我是IT行业的新手,我正在努力学习如何在系统之间安全地集成/共享查询。外行的条件将不胜感激。
发布于 2019-10-09 01:46:16
不,您的系统不需要有注入漏洞。
虽然您可以轻松地(并且不安全地)通过执行"eval“来实现这些子句,或者在没有验证的情况下将结果抛到WHERE中,但是正确地这样做是可能的。您将解析要验证它是否符合正确格式,然后构建一个现在受信任的查询。
https://security.stackexchange.com/questions/219293
复制相似问题