CSP: внесенный в белый список javascript с одноразовым номером, но все еще получающий ошибку в Chrome - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь реализовать политику безопасности контента без unsafe-inline и unsafe-eval в веб-приложении asp.net MVC. У этого есть представления (файлы cshtml) со встроенным JavaScript. Я переместил код javascript в отдельные файлы .js и добавил к ним атрибут nonce = "1234567890". Пока одноразовый номер является статическим. Как только мы начнем работать с CSP, мы реализуем динамический одноразовый номер. Проблема в том, что я все еще получаю ошибки оценки в Chrome, несмотря на белый список с одноразовым номером.

Это заявление, которое я имею в виду:

<script type="text/javascript" src="~/Scripts/NET/Work.js" nonce="1234567890"></script>

Это то, что находится в файле js:

(function() {
    $("button[type='submit']", "#frmWorkOptions").on("click", function () {
        if (_cc._xhrFind)
            _cc._xhrFind.abort();
    });

$(document).ajaxSend(function (event, xhr, options) {
var match;
match = /\/NET\/Work\/Find/i.test(options.url);
if (match)
    _cc._xhrFind = xhr;
});
$("#WorkEditor").focus();

$("#frmWorkOptions").submit();

})();

Этот код используется для вызова представления (AJAX) и добавления содержимого на страницу.

route = _cc.getAction("Index", activity);

            var data = { __RequestVerificationToken: token };
            $.post(route, data, function (data, status, xhr) {
                $div.html(data);
            }).fail(function (xhr, status, err) {
                alert("An error occurred processing your request. ");
                window.location = "/";
            });

Я получаю сообщение об ошибке при запуске страницы (в Chrome): отказано в выполнении встроенного сценария, поскольку оно нарушает следующую директиву политики безопасности содержимого: ... Одноразовый номер правильно указан в моем CSP, поскольку я успешно использовал его для белый список других скриптов. Эти скрипты, загруженные html из вызова AJAX, похоже, создают мне проблему. Любая помощь приветствуется.

...