8
我如何识别邪恶的正则表达式?
最近,我意识到正则表达式拒绝服务攻击,并决定在我的代码库中可以找到的所谓“邪恶”正则表达式模式中根除-至少是在用户输入中使用的那些。上面的OWASP链接和Wikipedia上给出的示例很有帮助,但它们不能很好地用简单的术语解释问题。 邪恶的正则表达式的描述,来自维基百科: 正则表达式将重复(“ +”,“ *”)应用于复杂的子表达式; 对于重复的子表达式,存在一个匹配项,它也是另一个有效匹配项的后缀。 再次举例,来自维基百科: (a+)+ ([a-zA-Z]+)* (a|aa)+ (a|a?)+ (.*a){x} x> 10时 这是一个没有更简单解释的问题吗?我正在寻找可以简化编写正则表达式或在现有代码库中查找它们的问题。
83
regex