gpt4 book ai didi

javascript - 对于不受信任的代码,工作人员是否足够安全

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:46:40 26 4
gpt4 key购买 nike

我有一个用户提交的不受信任的代码,我需要在浏览器的沙盒环境中执行它。

我被告知 Web-Workers 对此不够安全,最好使用沙盒化的 iframe。本页:

https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet#Web_Workers

还说 worker 不适合不受信任的代码。

但是如果我从 Blob 创建一个 worker,它的 url 甚至有一个不同的协议(protocol) (blob://)。在这种情况下,是否对 worker 代码应用了单独的来源政策?

如果有其他原因,为什么与沙盒 iframe(访问 IndexedDB 或其他东西)相比,worker(默认情况下)受到的限制更少,是否有机会以某种方式设置 worker 以使其受到足够的限制,还是我仍然应该使用沙盒 iframe?

最佳答案

Is separate origin policy applied to the worker code in this case?

不,来自 the current editor's draft of the File API specification :

The origin of a Blob URL must be the same as the effective script origin specified by the incumbent settings object at the time the method that created it -- either URL.createObjectURL or URL.createFor -- was called.


additional reasons, why a worker is (by default) less restricted comparing to the sandboxed iframe

沙盒 iframe 可以指定除跨源通信之外的一些权限。例如,您可以防止沙盒内容打开弹出窗口。尽管 Web Worker 目前没有 API 来做很多这样的事情。


is there any chance to set-up a worker somehow so that it would be restricted enough

网络 worker 没有任何安全机制。 Web 平台中还有其他工具用于隔离不受信任的代码,如您指出的沙盒 iframe。如果更好的话,您可以使用沙盒 iframe 创建网络 worker 。

关于javascript - 对于不受信任的代码,工作人员是否足够安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25964015/

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