【问题标题】:How can I use angular-material with CSP?如何将角材料与 CSP 一起使用?
【发布时间】:2015-11-07 17:03:56
【问题描述】:

我们的内容安全政策不允许 unsafe-inline 用于样式。

当我尝试在我们的应用程序中使用 angular-material 时,它无法正常工作(缺少样式),并且我在 DevTools 中记录了很多错误。据我所知,这是由于动态生成的 CSS 被注入到页面中。

我已经包含了ngCsp,但它对这个问题没有明显影响。

【问题讨论】:

    标签: angularjs content-security-policy angularjs-material


    【解决方案1】:

    根据AngularJS Material 的文档,解决方案必须是:

    angular
    .module("app", ['ngMaterial'])
    .config(['$mdThemingProvider', function (themeProv) {
        themeProv.setNonce('randomString')
    }])
    

    作为属性添加到主题样式标签的随机数。设置一个值允许在不使用 unsafe-inline 指令的情况下使用 CSP 策略。

    【讨论】:

    • 这可行,但尚未为我看到的这个样式标签添加随机数属性是由 angularjs 添加的:<style type="text/css">@charset "UTF-8";[ng\:cloak],[ng-cloak]...</style>
    猜你喜欢
    • 2023-03-21
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多