Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以在Meteor find函数中使用用户定义的正则表达式而不转义特殊字符吗?_Javascript_Regex_Mongodb_Meteor - Fatal编程技术网

Javascript 我可以在Meteor find函数中使用用户定义的正则表达式而不转义特殊字符吗?

Javascript 我可以在Meteor find函数中使用用户定义的正则表达式而不转义特殊字符吗?,javascript,regex,mongodb,meteor,Javascript,Regex,Mongodb,Meteor,我有一个简单的过滤器用于搜索保存在数据库中的图像。因此我使用regex:图像 当然,我用check(查询,字符串)检查值函数。如果我不转义正则表达式中的特殊字符(查询变量,其内容由用户指定),这会是一个大的安全问题吗?对我来说,用户可以定义类似(nameOfImage1 | nameOfImage2)的内容是一个优势 根据@Michel Floyd在上面的评论,这不是安全问题,我在find()中使用Regex。但是我也用query.replace(/[\/\\^$*[\]{}]/g,”)替换了一


我有一个简单的过滤器用于搜索保存在数据库中的图像。因此我使用regex:

图像


当然,我用
check(查询,字符串)检查值函数。如果我不转义正则表达式中的特殊字符(查询变量,其内容由用户指定),这会是一个大的安全问题吗?对我来说,用户可以定义类似(nameOfImage1 | nameOfImage2)的内容是一个优势

根据@Michel Floyd在上面的评论,这不是安全问题,我在
find()
中使用Regex。但是我也用
query.replace(/[\/\\^$*[\]{}]/g,”)替换了一些选定的字符

根据@Michel Floyd在上面的评论,这不是一个安全问题,我在
find()
中使用Regex。但是我也用
query.replace(/[\/\\^$*[\]{}]/g,”)替换了一些选定的字符

如果他们定义了类似的东西会怎么样?在这种情况下,它什么也找不到-但这不是问题。我只关心安全方面。使用
abcdddddddddddddddddddf
会设置超时。许多搜索界面对简单字符串进行“包含”搜索,然后用户可以选择输入显式正则表达式-那些前导/尾随的
*
可能会干扰超级用户的意图。从安全角度来看,您可能还可以,因为正则表达式是在
.find()
中使用的,而不是在
.update()
中使用的。如果它们定义了类似的内容,会怎么样?在这种情况下,它找不到任何东西,但这不是问题。我只关心安全方面。使用
abcdddddddddddddddddddf
会设置超时。许多搜索界面对简单字符串进行“包含”搜索,然后用户可以选择输入显式正则表达式-那些前导/尾随的
*
可能会干扰超级用户的意图。从安全角度来看,您可能还可以,因为正则表达式正在
.find()
而不是
.update()
中使用。