我有一个基本的 cfsearch 可以正常工作,但有时它可能会被如下搜索字符串破坏;
我的搜索字符串]
“我的搜索字符串
我的搜索字符串[
我的搜索:字符串
以上任何一项都会导致错误,例如;
执行查询时出错:org.apache.lucene.queryParser.ParseException:无法解析“我的搜索字符串”:第 1 行第 32 列出现词法错误。遇到:之后:“\”我的搜索字符串”
我在想我可以去掉这些字符,但你可能有一个有效的搜索词,比如两个“” - 即。“我的搜索字符串” - 这是有效的。有没有更好的方法来为 cfsearch 准备一个字符串?
因此,在以下示例中:
“我的搜索字符串
它会去掉第一个“。但如果搜索词是:
“我的搜索字符串”
一切都好-别管它。有任何想法吗?!是否还有其他可能导致错误的字符?例如,一个黑客尝试过这个;
XyOk,'.](.]]]'
这导致了一个错误。