Javascript 是否可以在web worker中安全地使用eval来执行任意用户代码?
是否有可能以安全的方式卸载将被评估给Web工作者的自定义用户代码 Web工作人员的“仅与字符串通信”功能看起来很有希望,但以有趣的方式评估用户代码总是非常危险的Javascript 是否可以在web worker中安全地使用eval来执行任意用户代码?,javascript,eval,web-worker,Javascript,Eval,Web Worker,是否有可能以安全的方式卸载将被评估给Web工作者的自定义用户代码 Web工作人员的“仅与字符串通信”功能看起来很有希望,但以有趣的方式评估用户代码总是非常危险的 我在网上找不到很多关于它的信息。有没有一种好的方法可以在客户端或服务器端进行清理或其他操作?Web工作者无法更改DOM,因此他们无法创建新元素并以这种方式创建XSS攻击。但是,他们可以创建XMLHttpRequests,这样他们就可以访问并请求来自遵循同源策略的任何内容的数据 只要你对员工发来的信息进行消毒,你就应该是安全的。只允许特定
我在网上找不到很多关于它的信息。有没有一种好的方法可以在客户端或服务器端进行清理或其他操作?Web工作者无法更改DOM,因此他们无法创建新元素并以这种方式创建XSS攻击。但是,他们可以创建XMLHttpRequests,这样他们就可以访问并请求来自遵循同源策略的任何内容的数据 只要你对员工发来的信息进行消毒,你就应该是安全的。只允许特定的字符串、对象或整数,并阻止其他类型的消息 此外,如果Web Workers仅针对每个用户,而不是在用户之间分配,那么他们将不允许您的用户执行任何他们在开发人员控制台上无法执行的操作 另见:
- MDN:
- 哪个用户创建了代码?不管怎样,每个用户都可以在自己的浏览器中执行自定义代码,您不能阻止他们。您可以“给予”当前用户输入的代码“完全权限”
如果代码是由其他可能是恶意用户创建的,您需要小心。WebWorkers可以执行Ajax请求,这可能是由于凭据而造成的安全漏洞。任何无限循环和co都不是好东西 - 您的GUI与WebWorker通信,并响应来自WebWorker的事件。WebWorkers消息会对您的应用程序造成多少危害?你需要限制这一点