在apache vhost中设置随机数

时间:2018-09-10 21:37:14

标签: angular apache content-security-policy vhosts

我正在构建一个有角度的应用程序,并且已经在apache虚拟主机中设置了CSP。我面临的问题之一是要加载我的脚本,手动将所有脚本列入白名单并不容易。最重要的是,该应用程序会在每次构建时生成内联脚本。

位于我的index.html中的以下代码生成随机随机数,并在我所有的脚本标签上设置属性。现在剩下的问题是如何将其传递给apache中的CSP标头。

<script>
 // generate random string for nonce
var randomString = function(length) {
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    for(var i = 0; i < length; i++) {
        text += possible.charAt(Math.floor(Math.random() * possible.length));
    }
    return text;
}
// set value to recommended 32
var rs = randomString(32);
// load all script tags and set nonce attribute
window.onload=function() {
    var scripts = document.getElementsByTagName("script");
    for (var i=0;i<scripts.length;i++) {
        if (scripts[i].src) i,scripts[i].setAttribute("nonce", rs)
        else i,scripts[i].setAttribute("nonce", rs);
    }
 }
</script>

任何帮助将不胜感激。

0 个答案:

没有答案