为什么[^ ...] / RegExp /不安全?

时间:2015-01-06 04:07:06

标签: javascript regex

jslint检测到以下代码不安全:

/([^\n]+)([\n\s]*)/g

后来我了解到有一个lint选项:

  

在。/ RegExp /“

中的。和[^ ...]

您可以在here

找到

为什么不安全?

1 个答案:

答案 0 :(得分:2)

问题在于[^ ...]字符,你允许几乎所有正则表达式中的任何内容,jshint会检测到安全风险。

这是jslint docs关于[^ ...]的说法:

  

如果确实如此。在RegExp文字中应该允许[^ ...]。他们相配   比预期更多的材料,让攻击者混淆   应用。在安全验证时不应使用这些表单   应用