Javascript 如何修复codacy警报“通用对象注入接收器”

Javascript 如何修复codacy警报“通用对象注入接收器”,javascript,codacy,Javascript,Codacy,下面是我的代码。我认为没有任何问题 我怎么能愚弄科达西?如果我不能使用obj[key],那这到底是什么东西?我无法避免 @luca在评论中链接的问题解释了使用变量访问数组索引的问题。这是一个安全问题 如果允许将未经验证的输入用作数组索引,则应用程序可能会崩溃。即使验证索引,重构代码并跳过验证也是时间问题。因此,建议避免使用此类代码。一个建议的解决方案是使用地图: 如果您不想知道这个问题,可以忽略codacy UI中的问题:您只需要将索引解析为整数 activeIndexObj[parseInt(

下面是我的代码。我认为没有任何问题

我怎么能愚弄科达西?如果我不能使用obj[key],那这到底是什么东西?我无法避免


@luca在评论中链接的问题解释了使用变量访问数组索引的问题。这是一个安全问题

如果允许将未经验证的输入用作数组索引,则应用程序可能会崩溃。即使验证索引,重构代码并跳过验证也是时间问题。因此,建议避免使用此类代码。一个建议的解决方案是使用地图:


如果您不想知道这个问题,可以忽略codacy UI中的问题:

您只需要将索引解析为整数

activeIndexObj[parseInt(index)] = newVal

黑客可能会注入函数或原型链接,这就是为什么会出现此安全错误。

请保持评论的尊重。@NicolasS.xu为什么用变量调用数组索引是不好的做法中的答案毫无意义。我认为答案是错误的。好吧,在codacy UI中有解释这个问题的链接,你自己看看:你的精彩!好主意
activeIndexObj[parseInt(index)] = newVal