Neo4j显式/手动索引查询,谓词中的参数和可能的Cypher(SQL)注入

时间:2018-05-19 17:12:59

标签: neo4j lucene cypher neo4j-apoc

我将使用Neo4j显式/手动索引查询,类似于:

MATCH (d:Decision)-[:HAS_VALUE_ON]->(ch:Characteristic) 
WHERE ch.id = 2 
CALL apoc.index.in(ch,'HAS_VALUE_ON','property.1.4:5 AND property.1.3:"practical"') YIELD node AS decision 
MATCH (decision)-[ru:CREATED_BY]->(u:User) 
RETURN decision, u

为了使用它,我需要基于Lucene查询语言创建索引查询谓词,例如上面示例中的以下内容:

'property.1.4:5 AND property.1.3:"practical"'

根据我的业务逻辑,谓词内部的值来自UI,可能用于Cypher(SQL)注入。

以前我使用Cypher命名参数来避免这个问题,但看起来它在谓词字符串中不起作用。

如果在显式/手动索引Lucene查询谓词的情况下如何处理它?<​​/ p>

0 个答案:

没有答案