1
我有一个简单的过滤器,用于搜索保存在数据库中的图像。因此,我使用正则表达式:Images.find({"name":{$regex:".*"+query+".*"}});
当然,我用check(query, String);
函数检查值。 如果我不逃避正则表达式中的特殊字符(query var,其内容由用户指定),它会是一个很大的安全问题吗?对我而言,用户可以定义像(nameOfImage1 | nameOfImage2)这样的优点。我可以在Meteor find函数中使用用户定义的正则表达式,而不用转义特殊字符吗?
取代了一些选定的字符如果他们定义类似['abc(。*)* def'](https://regex101.com/r/YVJUyt/2)? –
在这种情况下,它找不到任何东西 - 但它不是问题。我只关心安全问题。 – JkmAS
使用'abcdddddddddddddddddddddddddddddddddddf'它会超时。 –