9

鉴于此 JavaScript 代码(这只是引用 url 的注释):

// see http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-1/

打开“安全子集”的JSLint会说

Dangerous comment.
// http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-1/

评论怎么会有危险?根据定义,评论不会被解析!还是他们?

编辑:使用不同的网址不一定是危险的。例如这个:

// http://enterprisejquery.com

不会触发标志。评论中的一个 URL 怎么可能是“危险的”,而另一个却不是?

4

2 回答 2

3

“危险”注释匹配正则表达式:

/@cc|<\/?|script|\]\s*\]|<\s*!|&lt/i

在这种情况下,您的评论是“危险的”,因为它包含字符串“script”。

我认为这可能是一个误报。

于 2012-06-14T17:31:29.153 回答
2

您可以使用以下命令手动执行评论eval

http://googlecode.blogspot.com/2009/09/gmail-for-mobile-html5-series-reducing.html

为了将所有模块组合成一个资源,我们将每个模块写入一个单独的脚本标签,并将代码隐藏在注释块 (/* */) 中。当资源第一次加载时,没有任何代码被解析,因为它被注释掉了。要加载模块,请找到相应脚本标记的 DOM 元素,去掉注释块,然后 eval() 代码。

此外,有人可能会不小心取消注释危险代码并创建漏洞。

默认情况下,不,不解析 JavaScript 注释。但躺着也不是什么好事。

于 2012-06-14T17:15:04.200 回答