将文本直接从用户传递到"java.util.regex.Pattern"安全吗?



将用户输入直接传递给java.util.regex.Pattern稍后由java.util.regex.Matcher使用是否安全?

如果没有,为什么?它是否创建无限循环或指数计算?如果是这样,还有什么其他选择?

Regexp从来都不安全。就个人而言,如果我真的没有必要,我会避免使用它们。有人可以构建一个正则表达式,这将需要很长时间才能检查或使系统崩溃。

可以在此处找到一些其他阅读材料: http://www.regular-expressions.info/catastrophic.html

我想不出一个用例可以证明让用户将正则表达式传递给您的服务器是合理的。

最新更新