(PreScript:我最初打算在GitHub中提出这个问题,但是模板建议一般的问题放在这里而不是那里,因为从技术上来说,这并不是一个bug)。
当我们针对TypeScript输出(v2.1.4)运行SPCAF代码分析框架(v.6.9.2.2802)时,在每个被分析的JS文件顶部发出的Extends中识别出以下安全风险:
The comma operator used in sequences can cause confusion what the code should actually return
NoCommaOperator.html?version=6.9.2.2802
(此规则基于ESLint规则:http://eslint.org/docs/rules/no-sequences.html)
这与帮助者的这一行有关:
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
看来ES Lint规则存在问题,因为这两个语句是用逗号而不是分号分隔的。
我的问题是:这些语句被逗号分开是否存在真正的安全风险,如果是的话,可以在助手的发射器中更新吗?
否则,根据ES Lint对在parantheses中显式包装序列的规则的异常,三元中的表达式是否可以被更新到两个方括号中?
发布于 2017-03-27 17:59:00
在生成的代码中,这不是您在这里介绍的问题,也有一些安全的方法可以使用这一点,因为有一些安全的方法可以使用其他形式的JavaScript来引起安全问题。
有一种使用逗号运算符间接计算代码的方法。这也可能导致代码中的副作用,而这些副作用并不是程序员想要的,在某些示例中很容易利用这些副作用。
这个错误可以从生成的代码中忽略,因为它只是一个可能的安全风险,并且这个规则与TypeScript是无效的。
应该为目标语言和平台配置规则。有些规则只是不适用于某些环境。
你好,休
源我是Rencore GmbH创建者的首席开发人员。
https://stackoverflow.com/questions/43045436
复制相似问题