Neo4j数据库注入防护

3

我想知道,在传统的RDMS中有SQL注入,那么在PHP中我们使用PDO来预防注入,但是在Neo4j中我们该如何预防注入呢?我正在使用通过jQuery和neo4jphp模块的neo4j RST API。请问各位有什么建议?

先感谢大家。

2个回答

3
使用 Web 服务的一个好处是将客户端与服务实现解耦。在您的情况下,这意味着 REST 封装了 Neo4jPHP 代表您执行的 Cypher 查询的详细信息。因此,防止注入攻击的责任落在 Neo4jPHP 上。那是一项实现细节。即使您想要,您也不应该对此进行调整。
如果您自己进行 Cypher 查询,则情况会有所不同。然后您将使用参数,如下所示:
query = "START n=node(*) WHERE n={search} RETURN n"
db.query query, {search: "userProvidedValue"}

我建议您写信到Neo4jPHP论坛,以确保他们已经采取了预防措施,通过编写参数化的Cypher查询。或者查看源代码并自行验证。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接