拒绝应用内联样式,因为它违反了以下内容安全策略指令

若昂·贝朗

因此,在大约1小时内,我的扩展程序严重失败了。

我在做扩展,在做我假装的事情。我进行了一些更改,但由于不喜欢,所以将它们删除了,现在我的扩展程序抛出错误:

拒绝应用内联样式,因为它违反了以下“内容安全策略”指令:“ default-src'self'”。请注意,没有显式设置'style-src',因此将'default-src'用作后备。

是什么导致此错误?

我在以下方面进行了更改:

popup.html

<!DOCTYPE html>
<html ng-app="PinIt" ng-csp>
    <head>
        <link rel="stylesheet" href="css/popup.css">
        <script src="js/lib/jquery-1.8.2.min.js"></script>
        <script src="js/lib/angular.min.js"></script>
        <script src="js/app/app.js"></script>
        <script src="js/app/popup.js"></script> 
    </head>
    <body id="popup">
        <header>
            <h1>PinIt</h1>
        </header>
    <div ng-controller="PageController">
            <div>{{message}}</div>
            <h2>Page:</h2>
            <div id="elem">{{title}}</div>
            <div>{{url}}</div>
            <h2>Imagens:</h2>
            <ul>
                <li ng-repeat="pageInfo in pageInfos" style="list-style: none">
                    <div class="imgplusshare">
                    <img src={{pageInfo}} class="imagemPopup"/>
                    <ul class="imas">
                      <li id="liFacebook" ng-click="fbshare(pageInfo)">
                      <span>
                      <img src="facebook_16.png"/>Facebook
                      </span>
                    </li>
                    <li id="liTwitter" ng-click="twshare(pageInfo)">
                    <span>
                    <img src="twitter-bird-16x16.png"/>Twitter
                    </span>
                    </li>
                    <li id="liGooglePlus" ng-click="gpshare(pageInfo)">
                    <span><img src="gplus-16.png"/>Google+</span>
                    </li>
                    <li id="liEmail" ng-click="mailshare(pageInfo)">
                    <span><img src="mail_icon_16.png"/>Email</span>
                    </li>
                    <hr>
                    </ul>

                    </div>
                    </li>

                    </ul>
</div>
    </body>
</html>

popup.js

  myApp.service('pageInfoService', function() {
        this.getInfo = function(callback) {
            var model = {};

            chrome.tabs.query({'active': true},
            function (tabs) {
                if (tabs.length > 0)
                {
                    model.title = tabs[0].title;
                    model.url = tabs[0].url;

                    chrome.tabs.sendMessage(tabs[0].id, { 'action': 'PageInfo' }, function (response) {

                        model.pageInfos = response;

                        callback(model);
                    });

                }

            });
        };
    });
    myApp.controller("PageController", function ($scope, pageInfoService) {

        pageInfoService.getInfo(function (info) {           
            $scope.title = info.title;
            $scope.url = info.url;
            $scope.pageInfos = info.pageInfos;
            $scope.fbshare =  function($src) {
             chrome.windows.create({url:"http://www.facebook.com/sharer/sharer.php?u="+$src});
      };    
            $scope.twshare =  function($src) {
             chrome.windows.create({url:"https://twitter.com/intent/tweet?url="+$src});
      };
            $scope.gpshare =  function($src) {
             chrome.windows.create({url:"https://plus.google.com/share?url="+$src});
      };
            $scope.mailshare =  function($src) {
             chrome.windows.create({url:"mailto:?subject=Imagem Partilhada por PinIt&body=<img src=\""+$src+"\"\\\>"});
      };



            $scope.$apply();


        });
    });

这是我的清单文件:

{
    "name": "PinIt",
    "version": "1.0",
    "manifest_version": 2,

    "description": "Pin It",
    "icons": {
        "128": "icon128.png"
    },
    "browser_action": {
        "default_icon": "img/defaultIcon19x19.png",
        "default_popup": "popup.html",
        "default_title": "PinIt"
    },
    "content_scripts": [ {
    "js": [ "js/lib/jquery-1.8.2.min.js", "js/app/content.js", "js/jquery-ui-1.10.3.custom.js" ],
    "matches": [ "*://*/*" ],
    "run_at": "document_start"
    } ],
    "minimum_chrome_version": "18",
    "permissions": [ "http://*/*", "https://*/*", "unlimitedStorage", "contextMenus", "cookies", "tabs", "notifications" ],
    "content_security_policy": "default-src 'self'"
}

有什么建议吗?

米图勒

您还可以通过添加样式来放松CSP样式 style-src 'self' 'unsafe-inline';

"content_security_policy": "default-src 'self' style-src 'self' 'unsafe-inline';" 

这将允许您在扩展程序中继续使用内联样式。

重要的提示

正如其他人指出的那样,建议这样做,您应该将所有CSS放在一个专用文件中。有关为何CSS可以成为攻击媒介的信息,请参见OWASP解释(有关链接,请以@ KayakinKoder表示感谢)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

拒绝加载脚本,因为它违反了以下“内容安全策略”指令

来自分类Dev

升级ember-cli 0.0.47后违反内容安全策略指令

来自分类Dev

全新的Ember应用违反了内容安全政策

来自分类Dev

无法加载图片,因为它违反了内容安全政策

来自分类Dev

(CSP)内容安全策略。处理从外部库添加的内联样式的方法

来自分类Dev

内容安全策略“拒绝执行内联事件处理程序”错误

来自分类Dev

拒绝加载脚本,因为它违反了以下内容安全策略指令:ChromeDriver Chrome和Selenium的script-src错误

来自分类Dev

拒绝加载图片“ blob:...”,因为它违反了以下内容安全策略

来自分类Dev

拒绝框架“”,因为它违反了以下“内容安全策略”指令

来自分类Dev

使用Materialize表单的Google App脚本返回错误“祖先违反了以下内容安全政策指令:“ frame-ancestors'self'”

来自分类Dev

SignalR拒绝连接到[url],因为它违反了以下内容安全策略指令

来自分类Dev

仅限Safari:拒绝连接到...,因为它未出现在内容安全策略的connect-src指令中

来自分类Dev

违反以下“内容安全策略”指令:Shopify中的***

来自分类Dev

拒绝连接到x,因为它违反了以下内容安全策略指令(connect-src)

来自分类Dev

拒绝执行内联脚本,因为它违反了以下“内容安全策略”指令:“ script-src'self'”。

来自分类Dev

拒绝加载图像,因为它违反了以下内容安全策略指令:“ default-src'none'”

来自分类Dev

构建到生产后的内容安全策略指令

来自分类Dev

导致heroku上托管的MERN应用程序的头盔导致错误:拒绝执行内联脚本,因为它违反了以下规定

来自分类Dev

Cordova Angular webView错误拒绝应用内联样式,因为它违反了以下“内容安全策略”指令

来自分类Dev

Cordova Angular webView错误拒绝应用内联样式,因为它违反了以下“内容安全策略”指令

来自分类Dev

Cordova Angular webView错误拒绝应用内联样式,因为它违反了以下“内容安全策略”指令

来自分类Dev

Cordova Angular webView错误拒绝应用内联样式,因为它违反了以下“内容安全策略”指令

来自分类Dev

Chrome扩展程序内容安全策略指令错误

来自分类Dev

拒绝执行内联事件处理程序,因为它违反了Chrome App中的以下内容安全政策错误

来自分类Dev

以下内容是否确实违反了ODR?

来自分类Dev

内容安全策略停用

来自分类Dev

拒绝加载,因为它违反了内容安全策略

来自分类Dev

拒绝应用内联样式,因为它违反了以下内容安全政策:“ style-src'self'https://apis.google.com。

来自分类Dev

无法执行内联事件处理程序,因为它违反了内容安全策略指令

Related 相关文章

  1. 1

    拒绝加载脚本,因为它违反了以下“内容安全策略”指令

  2. 2

    升级ember-cli 0.0.47后违反内容安全策略指令

  3. 3

    全新的Ember应用违反了内容安全政策

  4. 4

    无法加载图片,因为它违反了内容安全政策

  5. 5

    (CSP)内容安全策略。处理从外部库添加的内联样式的方法

  6. 6

    内容安全策略“拒绝执行内联事件处理程序”错误

  7. 7

    拒绝加载脚本,因为它违反了以下内容安全策略指令:ChromeDriver Chrome和Selenium的script-src错误

  8. 8

    拒绝加载图片“ blob:...”,因为它违反了以下内容安全策略

  9. 9

    拒绝框架“”,因为它违反了以下“内容安全策略”指令

  10. 10

    使用Materialize表单的Google App脚本返回错误“祖先违反了以下内容安全政策指令:“ frame-ancestors'self'”

  11. 11

    SignalR拒绝连接到[url],因为它违反了以下内容安全策略指令

  12. 12

    仅限Safari:拒绝连接到...,因为它未出现在内容安全策略的connect-src指令中

  13. 13

    违反以下“内容安全策略”指令:Shopify中的***

  14. 14

    拒绝连接到x,因为它违反了以下内容安全策略指令(connect-src)

  15. 15

    拒绝执行内联脚本,因为它违反了以下“内容安全策略”指令:“ script-src'self'”。

  16. 16

    拒绝加载图像,因为它违反了以下内容安全策略指令:“ default-src'none'”

  17. 17

    构建到生产后的内容安全策略指令

  18. 18

    导致heroku上托管的MERN应用程序的头盔导致错误:拒绝执行内联脚本,因为它违反了以下规定

  19. 19

    Cordova Angular webView错误拒绝应用内联样式,因为它违反了以下“内容安全策略”指令

  20. 20

    Cordova Angular webView错误拒绝应用内联样式,因为它违反了以下“内容安全策略”指令

  21. 21

    Cordova Angular webView错误拒绝应用内联样式,因为它违反了以下“内容安全策略”指令

  22. 22

    Cordova Angular webView错误拒绝应用内联样式,因为它违反了以下“内容安全策略”指令

  23. 23

    Chrome扩展程序内容安全策略指令错误

  24. 24

    拒绝执行内联事件处理程序,因为它违反了Chrome App中的以下内容安全政策错误

  25. 25

    以下内容是否确实违反了ODR?

  26. 26

    内容安全策略停用

  27. 27

    拒绝加载,因为它违反了内容安全策略

  28. 28

    拒绝应用内联样式,因为它违反了以下内容安全政策:“ style-src'self'https://apis.google.com。

  29. 29

    无法执行内联事件处理程序,因为它违反了内容安全策略指令

热门标签

归档