问题标签 [unsafe-eval]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
55 浏览

content-security-policy - 我们正在使用的 API 需要 'unsafe-eval' 'unsafe-inline',我们能否在不进一步损害安全性的情况下使用 CSP 限制脚本来源?

'unsafe-inline' 'unsafe-eval'如果在 CSP 中使用,我们对 JavaScript API 有很强的依赖性。如果我们添加具有以下值的 CSP 标头,我们是否可以通过限制将可能执行脚本的来源列入白名单来改善我们的安全状况,或者我们是否通过明确允许更多地开放自己 'unsafe-inline' 'unsafe-eval'?我们目前的想法是,如果没有 CSP,我们会隐式允许内联脚本和 eval,否则我们的 API 将无法工作,那么 'unsafe-inline' 'unsafe-eval'显式添加到 CSP 的缺点是什么?

script-src 'self' 'unsafe-inline' 'unsafe-eval' https://<localserver> https://<remoteserver>

0 投票
1 回答
157 浏览

webpack - webpack 的脚本加载器替代方案?

使用 webpack 捆绑 web 应用程序时,我需要将一些 3rd 方脚本注册到全局(即window)命名空间,脚本加载器似乎是为此Webpack 设计的 - 如何将非模块脚本加载到全局范围内 | 窗口

但是,它有一个很大的缺点,生成的代码使用eval.call不符合大多数 CSP 安全准则,因此强烈建议不要在生产中使用它。是否有任何替代的 webpack 加载器可以用来在没有 XSS 漏洞的情况下实现相同的目的?

GitHub 项目https://github.com/webpack-contrib/script-loader也已经存档

0 投票
0 回答
308 浏览

javascript - JavaScript 使用 setInterval 获取“不安全评估”

我在下面的第一个代码片段中收到此错误

拒绝将字符串评估为 JavaScript,因为 'unsafe-eval' 不是以下内容安全策略指令中允许的脚本来源:“script-src 'self' 'unsafe-inline'”。

但是使用 lambda 函数一切正常:

我想知道有没有一种方法可以声明一个方法或一个函数,我可以在 setInterval 函数(我正在调用构造函数)中将其设置为参数而不会出现“unsafe-eval” - 错误?

附言。知道为什么我在第一个片段中出现错误将是一个很好的加分。

0 投票
0 回答
154 浏览

security - Google 控制台 Firebase 机器人测试中的 WebView 内容安全策略异常

通过 Firebase Robo 测试的 Google 控制台显示异常。

但在 WebView 设置中启用了 JS。

如果放在标题中,则相同的异常

0 投票
0 回答
14 浏览

html - 在 CSP 上的 script-scr 中添加了“unsafe-eval”,仍然说它不存在

我已经尝试了一切,这是我最后的手段。我将 unsafe-eval 放入 script-scr 但没有任何反应。

0 投票
0 回答
55 浏览

chrome-extension-manifest-v3 - 未捕获的 EvalError:'unsafe-eval' 不是以下内容安全策略指令中允许的脚本来源:“script-src 'self'”

我正在 Manifest V3 中创建一个 chrome 扩展,因为我意识到 Chrome 现在不允许人们使用 Manifest V2 上传扩展。我做了一些更改,这就是我的 manifest.json 现在的样子。

在此处输入图像描述 但是,在运行我的 chrome 扩展程序时出现此错误。该错误似乎来自我的构建文件夹中的 popup.html。我使用 Manifest V2 时没有出现此问题。我不确定我应该如何解决这个问题。我是新手,非常感谢您的帮助,谢谢!