首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >neo4j数据库注入保护

neo4j数据库注入保护
EN

Stack Overflow用户
提问于 2014-01-22 01:38:14
回答 2查看 3.2K关注 0票数 3

我想知道,就像在传统的RDMS中一样,有SQL注入,所以在PHP中,我们使用PDO来预防注入,但是在Neo4j中,我们使用什么来防止注入呢?我正在通过jquery和neo4jphp模块使用neo4j RST api。所以有什么建议伙计们。

提前谢谢..

EN

回答 2

Stack Overflow用户

发布于 2014-01-22 01:52:37

使用web服务的价值之一是将客户端与服务的实现解耦。在您的例子中,这意味着REST抽象了Neo4jPHP代表您进行的Cypher查询的细节。因此,防止注入的责任落在了Neo4jPHP身上。这是一个实现细节。即使你想,你也不应该去摆弄它。

如果您自己进行Cypher查询,情况会有所不同。然后,您可以像这样使用参数:

代码语言:javascript
复制
query = "START n=node(*) WHERE n={search} RETURN n"
db.query query, {search: "userProvidedValue"}

我建议您写信给Neo4jPHP论坛,确保他们确实通过编写参数化的Cypher查询来采取了这些预防措施。或者look at the source,自己验证一下。

票数 3
EN

Stack Overflow用户

发布于 2014-01-23 09:08:29

Neo4jPHP JSON对发送到Neo4j服务器的所有值进行编码。Cypher查询与参数值的散列一起发送。就像使用SQL一样,您不应该直接从用户输入构建Cypher查询。相反,使用带参数的Cypher查询,Neo4j服务器可以正确处理这些查询。

Neo4jphp文档请访问:https://github.com/jadell/neo4jphp/wiki/Cypher-and-gremlin-queries#executing-a-cypher-query

这里是Neo4j REST文档:http://docs.neo4j.org/chunked/stable/rest-api-cypher.html#rest-api-use-parameters

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

https://stackoverflow.com/questions/21265278

复制
相关文章

相似问题

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