首页 > 解决方案 > 我是否正确使用 X-Content-Security-Policy?

问题描述

我正在尝试将我的 Content-Security-Policy 用于 Internet Explorer

这是我拥有的内容安全策略:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'">

这是我为 X-Content-Security-Policy 添加的内容

<meta http-equiv="X-Content-Security-Policy" content="default-src 'self'">

当我使用 MS Edge、Firefox 或 Chrome 打开文档时,我看到大量内联样式警告(和其他警告)。但我在 IE 中看不到任何内容。而且我仍然可以在 IE 中的页面上运行脚本,这是我在我提到的其他浏览器上无法做到(并且想要阻止)的。

所以这让我想知道:我是否正确使用了 X-Content-Security-Policy 元标记?如果没有,我该如何修复我的标签?另外,我在哪里可以找到 X-Content-Security-Policy 的文档?我在 X-Content-Security-Policy 上进行了搜索...我找不到任何东西。出现的事情是针对 Content-Security-Policy

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>

<meta http-equiv="X-Content-Security-Policy" content="default-src 'self'"><meta http-equiv="Content-Security-Policy" content="default-src 'self'">

<script src="./jquery-3.3.1.min.js" type="text/javascript"></script>

<script>
alert('boo');
</script>
</head>
<body>
Hello World
</body>
</html>

标签: htmlinternet-explorercontent-security-policy

解决方案


IE10-11 仅部分支持 CSP。你可以在浏览器兼容性中看到,它不支持<meta>IE 中的元素。部分支持意味着它仅通过使用 X-Content-Security-Policy 标头支持“沙盒”指令。有关更多详细信息,您还可以查看此线程


推荐阅读