首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我在一个新的角度项目中添加了内容-安全性-策略,并清除了所有内容,但当我运行该项目时,它说“拒绝应用内联样式”。

我在一个新的角度项目中添加了内容-安全性-策略,并清除了所有内容,但当我运行该项目时,它说“拒绝应用内联样式”。
EN

Stack Overflow用户
提问于 2022-07-19 14:15:03
回答 1查看 98关注 0票数 0

所以我在我的角度项目的index.html中添加了内容-安全策略。

index.html

代码语言:javascript
运行
复制
<!doctype html>
<html lang="en">

<head>
 <meta charset="utf-8">
 <meta http-equiv="Content-Security-Policy"
       content="default-src 'self';"
 >
 <title>Csptest</title>
 <base href="/">
 <meta name="viewport" content="width=device-width, initial-scale=1">
<!--  <link rel="icon" type="image/x-icon" href="favicon.ico">-->
</head>
<body>
 <app-root></app-root>
</body>
</html>

还清除了app.component.html中的所有内容。

app.component.html

代码语言:javascript
运行
复制
<h2>App component works</h2>

app.component.ts

代码语言:javascript
运行
复制
import { Component } from '@angular/core';

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.css']
})
export class AppComponent {
 title = 'csptest';
}

但是当我运行这个项目时,它会被编译,但是当我转到localhost:4200时,它说

拒绝应用内联样式,因为它违反了以下内容安全策略指令:"default-src 'self'“。要么是‘不安全-内联’关键字,要么是散列('sha256-l5BdY8iHQaD9T7HFC/wOySvJobC7DMB33NJOSw+ToWw='),,要么是“不安全-.”)需要启用内联执行。还请注意,“style-src”未显式设置,因此“default-src”用作回退。

所以我在这里有点困惑,如果所有的东西都从app.component.html中删除了,并且项目中没有其他组件,那么为什么会出现这个错误。

EN

回答 1

Stack Overflow用户

发布于 2022-07-19 14:38:42

当错误消息声明

  • 您必须添加'unsafe-inline' (对于style-src没有问题,但对于script-srcdefault-src则不是)

Content-Security-Policy: style-src 'unsafe-inline'

使用

  • 或使用nonce/散列,如下所示:

Content-Security-Policy: style-src 'nonce-0123456789'

当使用nonce时,您必须在<style>标记中引用它:

代码语言:javascript
运行
复制
<style nonce="0123456789">
    body { background: red; }
</style>

这种方法要求您在每次加载页面时生成一个新的new,并且可能更难实现。

有关详细信息,请参阅https://content-security-policy.com/examples/allow-inline-style/

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

https://stackoverflow.com/questions/73038566

复制
相关文章

相似问题

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