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

时间:2018-10-28 20:57:19

标签: javascript php jquery echo content-security-policy

在通过为所有不安全的内联脚本提供随机数来删除它们来强化CSP时,我在网站的特定页面上遇到了问题。我对所有内容进行了编辑,以使其在小规模场景中更容易理解。

product.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");
}

已创建一个随机数以允许在内联脚本上使用CSP。尽管随机数完全匹配,并且