首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExecutionEngine.execute(String,Map<String,Object>)能防止"NoSQL注入攻击“吗?

ExecutionEngine.execute(String,Map<String,Object>)能防止"NoSQL注入攻击“吗?
EN

Stack Overflow用户
提问于 2013-05-11 04:56:08
回答 1查看 507关注 0票数 0

因此,我通过JDBC在基于SQL的数据库中使用了PrepareStatements,以防止SQL注入攻击。

我想知道,如果使用得当,使用Neo4J的Java API ExecutionEngine.execute(String,Map<String,Object>) (参见1)是否可以防止针对Cypher的注入攻击?

更详细地说,如果早期执行参数替换,然后解析Cypher,我看不出这将如何帮助防止注入攻击,但如果解析Cypher,然后稍后替换参数,那么我可以看到它如何防止注入攻击。

众所周知,JDBC/SQL中的PrepareStatements可以防止NoSQL攻击,我希望确保使用ExecutionEngine.execute(String,Map<String,Object>)也能提供相同级别的保护。

谢谢!!

巴里

EN

回答 1

Stack Overflow用户

发布于 2013-05-14 22:42:28

是。这不是一个简单的字符串替换,它实际上首先被解析,query对象被缓存,然后填充参数。这对性能也有好处,因为当只更改参数时,它不需要重新解析查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16490712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档