コンテンツ セキュリティ ポリシーを実装する場合は、nonce グローバル属性を HTML に含めます。adrum.js スクリプトタグに nonce を追加できますが、nonce 値を adrum-ext.js に追加することはできません。これは、adrum.js が実行時に adrum-ext.js をロードするためです。nonce 値が adrum-ext.js に含まれていない場合、ブラウザはそのファイルを無視し、adrum-ext.js を実行しません。
adrum-ext.js に nonce を追加する場合は、次の 2 つのオプションがあります。
注: nonce 値を動的に生成し、adrum-ext.js に追加することをお勧めします。
- (推奨)nonce 値を adrum.js script tag に追加し、設定変数
elementIdWithNonce を追加します。elementIdWithNonce の値は nonce 要素を保持するスクリプト要素の ID です。次の例では、elementIdWithNonce は、nonce 要素を含む adrum.js スクリプトの「adrumScript」ID を指します。
<head>
<script type='text/javascript' charset='UTF-8'>
(function (config) {
config.elementIdWithNonce = "adrumScript";
})(window['adrum-config'] || (window['adrum-config'] = {}));
</script>
<script src='//cdn.appdynamics.com/adrum/adrum-latest.js' nonce="EDNnf03nceIOfn39fn3e9h3sdfa" id="adrumScript" type='text/javascript' charset='UTF-8'></script>
...
</head>
- nonce 値を任意のスクリプトタグに追加し、設定変数
elementIdWithNonce を追加します。elementIdWithNonce の値は nonce 要素を保持するスクリプト要素の ID です。次の例では、elementIdWithNonce は、nonce 要素を含む userscript.js スクリプトの「userScript1」ID を指します。
<head>
<script type='text/javascript' charset='UTF-8'>
(function (config) {
config.elementIdWithNonce = "userScript1";
})(window['adrum-config'] || (window['adrum-config'] = {}));
</script>
<script src='//cdn.appdynamics.com/adrum/adrum-latest.js' nonce="EDNnf03nceIOfn39fn3e9h3sdfa" id="adrumScript" type='text/javascript' charset='UTF-8'></script>
<script src='userscript.js' nonce="EDNnf03nceIOfn39fn3e9h3sdfa" id="userScript1" type='text/javascript' charset='UTF-8'></script>
...
</head>