![](/img/trans.png)
[英]Are web workers a secure way to sandbox untrusted javascript code
[英]Can workers be secure enough for an untrusted code
我有一个用户提交的不受信任的代码,我需要在浏览器的沙盒环境中执行它。
我被告知网络工作者不能保证足够安全,并且应该更好地使用沙坑的iframe。 这一页:
https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet#Web_Workers
还说工人不适合不受信任的代码。
但是如果我从Blob创建一个worker,它的url甚至有一个不同的协议( blob://
)。 在这种情况下,是否将单独的原始策略应用于工作者代码?
如果有其他原因,为什么工作者(默认情况下)与沙盒iframe相比受限制较少(访问IndexedDB或其他东西),是否有任何机会以某种方式设置工作人员以使其受到足够的限制,或者应该我仍然使用沙盒iframe?
在这种情况下,是否将单独的原始策略应用于工作者代码?
不,从当前编辑器的File API规范草案 :
Blob URL的来源必须与现有设置对象在创建它的方法(URL.createObjectURL或URL.createFor - )被调用时指定的有效脚本源相同。
其他原因,为什么工人(默认情况下)与沙盒iframe相比受限制较少
沙盒iframe可以指定除跨源通信之外的某些权限。 例如,您可以阻止沙盒内容打开弹出窗口。 虽然网络工作者目前没有API来完成许多这样的事情。
有没有机会以某种方式建立一个工人,以便它受到足够的限制
Web工作者没有任何安全机制。 Web平台中还有其他工具用于隔离不受信任的代码,如您指出的沙盒iframe。 你可以有一个沙盒iframe创建一个web worker,如果那更好的话。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.