web workers是沙箱不可信javascript代码的安全方法吗

web workers是沙箱不可信javascript代码的安全方法吗,javascript,security,web-worker,Javascript,Security,Web Worker,我想知道网络工作者是否是沙箱不可信javascript代码的安全方法。比方说,在绘图应用程序的上下文中,开发人员可以实现新的绘图工具,您可以将他们的代码放在webworker中,用户在画布上单击时,向他们发送一条包含光标位置和图像数据数组的JSON消息,当脚本完成时,它会传回包含新图像数据的消息 这是安全的,还是有我没有想到的风险?问题是,如果开发人员希望访问DOM。不允许Web工作者处理DOM,除非整个代码仅用于数据 我建议您从主域对整个应用程序进行沙箱处理,类似于JSFIDLE在iFrame

我想知道网络工作者是否是沙箱不可信javascript代码的安全方法。比方说,在绘图应用程序的上下文中,开发人员可以实现新的绘图工具,您可以将他们的代码放在webworker中,用户在画布上单击时,向他们发送一条包含光标位置和图像数据数组的JSON消息,当脚本完成时,它会传回包含新图像数据的消息


这是安全的,还是有我没有想到的风险?

问题是,如果开发人员希望访问DOM。不允许Web工作者处理DOM,除非整个代码仅用于数据

我建议您从主域对整个应用程序进行沙箱处理,类似于JSFIDLE在iFrame中运行一切的方式。这样,所有潜在危险代码只能在该框架中工作,而所有其他事情(如登录)都在该框架之外,在远离潜在危险代码的主域中处理


最好的是,只包含安全代码。在将代码合并到主应用程序之前,请先查看代码。

DOM对Web工作人员不可用,但可以访问相同来源的内容,如
indexedDB
。见我的相关问题:

安全的方法是使用iframe的
sandbox
属性:

还可以查看我的库,它简化了流程,并提供了与沙盒的方便连接(功能导出而不是消息传递):

看一看