提问者:小点点

内容安全策略jQuery加载PHP回显随机数


当我通过删除所有不安全的内联脚本来强化我的CSP时,我在我的网站的一个特定页面上遇到了一个问题。我编辑了所有内容,以便在小规模场景下更容易理解。

php加载将为其显示产品的模板。

<div id="productDisplay"></div>
<script nonce="sampleCorrectNonce" type="text/javascript">
    product();
</script>

product.php?id=123加载实际的产品数据,需要通过不同的场景用新信息刷新。

if ($_GET['action'] === 'displayProduct') {
    echo '
    samleData
    <script nonce="sampleCorrectNonce" type="text/javascript">
        productReady();
        productOptions();
    </script>
    ';
}

在product.php上有一个初始javascript代码,它按ID激发product.php?id=123并将其加载到DIV中。

product = function() {
    $("#productDisplay").load("//"+ document.domain + "/shop/product.php?action=displayProduct&id=123");
}

创建了一个nonce以允许在内联脚本上进行CSP。尽管nonce完全匹配并且