为什么Firefox忽略'unsafe-inline'csp指令?

时间:2019-10-27 18:58:33

标签: javascript firefox content-security-policy

使用Firefox 69.0.1。

在本地HTML文件中,我想在<script>标签中运行JavaScript脚本。但是,即使添加了

<meta http-equiv="Content-Security-Policy" content="default-src *; script-src * 'unsafe-inline';">

对于HTML标头,Firefox仍然抱怨如下:

Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”).

与错误相关的行是包含开头<script>标签的行。


<!DOCTYPE html>
<html lang="en" />
<head>
    <title>Title</title>

    <meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline'; script-src * 'unsafe-inline';">
    <meta charset="utf-8">

    <script>
        console.log("Foo, bar!");
    </script>

</head>

<body>Nothing interesting</body>

</html>

这在Chrome中有效。怎么了,女友?为什么这么意思?

1 个答案:

答案 0 :(得分:0)

您是否正在使用NoScript并忘记从站点启用脚本?在这种情况下,也会发生相同的错误。

此外,您可能希望使用更广泛的政策,例如:

Header set Content-Security-Policy "default-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self'; style-src 'self' 'unsafe-inline';"