首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Web工作者内部没有强制执行CSP

在Web工作者内部没有强制执行CSP
EN

Security用户
提问于 2020-05-07 18:55:22
回答 1查看 651关注 0票数 2

web worker JS文件上设置了CSP响应头,但浏览器没有强制执行。只有当父文档的响应头包含CSP头时,CSP才在Web工作者中强制执行。这是意料之中吗?

  1. index.html <>Helle var worker = new Worker('/worker.js');worker.addEventListener('message',函数(E){ console.log('Worker said:',e.data);},false);worker.postMessage('getResponse');
  2. worker.js self.addEventListener(‘消息’,函数(E){ var xhttp =新的XMLHttpRequest();xhttp.onreadystatechange = function() { if (this.readyState == 4& this.status == 200) ){self.postMessage(“由工作人员完成”);//文档准备就绪时要执行的典型操作: console.log(xhttp.responseText);}否则if (this.readyState == 4 && this.status != 200) { console.log(xhttp.statusText);self.postMessage(“由工作人员错误完成”);};xhttp.open("GET","https://jsonplaceholder.typicode.com/todos/1“,真);xhttp.send();},false);

响应头Content-Security-Policy: connect-src 'self';是在worker.js文件上设置的,但是CSP仍然没有被强制执行,并且API调用在网络选项卡中是成功的。

EN

回答 1

Security用户

发布于 2020-05-13 07:32:12

1)。是的,这种行为是预料之中的。如果(父)帧不包括CSP头,那么子帧上的CSP将不会被强制执行。

2)。此外,如果您有XSS漏洞,攻击者可以插入不包含CSP并仍然运行JS 根据上述声明,JS位于不包含CSP的框架内.的帧。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/231264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档