Neo4j显式/手动索引查询、谓词中的参数和可能的密码(SQL)注入
我将使用Neo4j显式/手动索引查询,类似于:Neo4j显式/手动索引查询、谓词中的参数和可能的密码(SQL)注入,neo4j,lucene,cypher,neo4j-apoc,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:U
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查询谓词的情况下如何处理它?如何将整个谓词作为命名参数?类似于
调用apoc.index.in(ch,{relType},{predicate})
?是的,好主意。谢谢,我试试看