gpt4 book ai didi

javascript - 为什么将数据存储在 JSON 而不是 JavaScript 对象文字/初始化程序中?

转载 作者:行者123 更新时间:2023-12-03 06:25:22 25 4
gpt4 key购买 nike

我开发 Firefox 插件已经一年了。

我的上次更新已被拒绝,因为他们希望我“将您的对象/模式存储在不可执行的 JSON 文件中,并通过 XHR 或 SDK API(如果适用)加载和解析,如本例所示:”

var data = require('sdk/self').data;
var myJSON = JSON.parse(data.load('dir/file.json'));

我总是将数据存储在 JavaScript 对象初始值设定项中,甚至从未收到过警告。

相关数据当前表示为一个或多个 object literal/initializer我的附加组件中 JavaScript 文件中的表达式。我没有从我的插件外部的来源获取此数据。

这种方式有什么问题吗?我为什么要改变?

由于这次拒绝,我最后批准的版本已“损坏”并且无法下载。

最佳答案

在处理外部数据源时,这是针对代码注入(inject)和 XSS 劫持的安全预防措施。始终解析传入的 JSON 可以防止执行外部参与者注入(inject)数据的函数(例如,如果您使用 eval(),它们就会执行)。

在访问通过插件以静态形式提供的数据时,我不确定他们想要防范什么。

现在这不是答案,但我将其留在这里而不是删除,因为我认为下面的 Mayken 评论值得保留。

关于javascript - 为什么将数据存储在 JSON 而不是 JavaScript 对象文字/初始化程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38680120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com