कॉन्टेंट की सुरक्षा के बारे में नीति के साथ Tag Manager का इस्तेमाल करना

कॉन्टेंट की सुरक्षा के लिए नीति (सीएसपी), वेब की सुरक्षा का एक ऐसा स्टैंडर्ड है जिसे ज़्यादातर ब्राउज़र पर इस्तेमाल किया जा सकता है. इसका मकसद, इंजेक्शन पर आधारित कुछ तरह के हमलों को रोकना है. इसके लिए, यह नीति डेवलपर को उनके ऐप्लिकेशन से लोड किए गए रिसॉर्स पर कंट्रोल देती है. सीएसपी का इस्तेमाल करने वाली साइटों पर Google Tag Manager को डिप्लॉय करने का तरीका जानने के लिए, इस गाइड का इस्तेमाल करें.

सीएसपी का इस्तेमाल करने के लिए, कंटेनर टैग चालू करना

सीएसपी वाले किसी पेज पर Google Tag Manager का इस्तेमाल करने के लिए, सीएसपी को Tag Manager के कंटेनर कोड को चलाने की अनुमति देनी होगी. यह कोड, इनलाइन JavaScript कोड के तौर पर बनाया जाता है. यह gtm.js स्क्रिप्ट को इंजेक्ट करता है. इसे कई तरीकों से किया जा सकता है. जैसे, नॉनस या हैश का इस्तेमाल करके. हमारा सुझाव है कि नॉनस का इस्तेमाल करें. यह एक ऐसी रैंडम वैल्यू होनी चाहिए जिसका अनुमान न लगाया जा सके. सर्वर, हर जवाब के लिए इसे अलग से जनरेट करता है. Content-Security-Policy के script-src डायरेक्टिव में, नॉनस की वैल्यू डालें:

Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com www.google.com

इसके बाद, Tag Manager के इनलाइन कंटेनर कोड के नॉनस-अवेयर वर्शन का इस्तेमाल करें. इनलाइन स्क्रिप्ट एलिमेंट पर, नॉनस एट्रिब्यूट की वैल्यू को इसी वैल्यू पर सेट करें:

<!-- Google Tag Manager -->
<script nonce='{SERVER-GENERATED-NONCE}'>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;var n=d.querySelector('[nonce]');
n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->

इसके बाद, Tag Manager, पेज में जोड़ी गई किसी भी स्क्रिप्ट में नॉनस को शामिल करेगा.

इनलाइन स्क्रिप्ट को चलाने के लिए, अन्य तरीके भी हैं. जैसे, सीएसपी में इनलाइन स्क्रिप्ट का हैश डालना.

अगर नॉनस या हैश के सुझाए गए तरीके काम नहीं करते हैं, तो सीएसपी के script-src सेक्शन में 'unsafe-inline' डायरेक्टिव जोड़कर, Tag Manager की इनलाइन स्क्रिप्ट को चालू किया जा सकता है.

इस तरीके का इस्तेमाल करने के लिए, सीएसपी में ये डायरेक्टिव होने चाहिए:

डायरेक्टिव कॉन्टेंट
script-src 'unsafe-inline' https://www.googletagmanager.com
img-src www.googletagmanager.com
connect-src www.googletagmanager.com www.google.com

कस्टम JavaScript वैरिएबल

कस्टम JavaScript वैरिएबल को लागू करने के तरीके की वजह से, सीएसपी की मौजूदगी में उनकी वैल्यू undefined होगी. ऐसा तब तक होगा, जब तक सीएसपी के script-src सेक्शन में 'unsafe-eval' डायरेक्टिव नहीं दिया जाता.

डायरेक्टिव कॉन्टेंट
script-src 'unsafe-eval'

प्रीव्यू मोड

Google Tag Manager के प्रीव्यू मोड का इस्तेमाल करने के लिए, सीएसपी में ये डायरेक्टिव होने चाहिए:

डायरेक्टिव कॉन्टेंट
script-src https://googletagmanager.com https://tagmanager.google.com
style-src https://googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com
img-src https://googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com
font-src https://fonts.gstatic.com data:

Google Analytics 4

Google Analytics 4 टैग का इस्तेमाल करने के लिए, सीएसपी में ये डायरेक्टिव होने चाहिए. 1 से मार्क किए गए एंडपॉइंट, खास तौर पर विज्ञापन की सुविधाओं के लिए हैं. हालांकि, हमारा सुझाव है कि इन्हें शुरुआती सेटअप के दौरान शामिल करें, ताकि बाद में Google Ads को लिंक करने पर, आपको सीएसपी को अपडेट न करना पड़े.

डायरेक्टिव कॉन्टेंट
script-src https://*.googletagmanager.com
img-src https://*.google-analytics.com
https://*.googletagmanager.com
https://*.g.doubleclick.net 1
https://*.google.com 1
https://*.google.<TLD> 1
connect-src https://*.google-analytics.com
https://*.analytics.google.com
https://*.googletagmanager.com
https://*.g.doubleclick.net 1
https://*.google.com 1
https://*.google.<TLD> 1
https://pagead2.googlesyndication.com 1
frame-src https://www.googletagmanager.com 1

1 विज्ञापन के एंडपॉइंट: इन डोमेन की ज़रूरत सिर्फ़ GA4 के उन डिप्लॉयमेंट के लिए होती है जो Google Ads से लिंक हैं या जिनमें विज्ञापन की सुविधाओं का इस्तेमाल किया जा रहा है.

Google Ads के कन्वर्ज़न, रीमार्केटिंग या कन्वर्ज़न लिंकर टैग का इस्तेमाल करने के लिए, सीएसपी में ये डायरेक्टिव होने चाहिए:

डायरेक्टिव कॉन्टेंट
script-src https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com
https://pagead2.googlesyndication.com https://googleads.g.doubleclick.net
img-src https://www.googletagmanager.com https://googleads.g.doubleclick.net https://www.google.com
https://pagead2.googlesyndication.com https://www.googleadservices.com
https://google.com https://www.google.<TLD>
frame-src https://www.googletagmanager.com
connect-src https://pagead2.googlesyndication.com https://www.googleadservices.com https://googleads.g.doubleclick.net
https://ad.doubleclick.net https://www.google.com https://google.com https://www.google.<TLD>

सुरक्षित कॉन्टेक्स्ट में चलने के दौरान, Google Ads के उपयोगकर्ता के डेटा के बीकन का इस्तेमाल करने के लिए, सीएसपी में ये डायरेक्टिव होने चाहिए:

डायरेक्टिव कॉन्टेंट
script-src https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://google.com https://www.google.com

Google Ads के उपयोगकर्ता के डेटा का बीकन, असुरक्षित कॉन्टेक्स्ट में नहीं चलता. इसलिए, इन मामलों में सीएसपी का कॉन्फ़िगरेशन लागू नहीं होता.

Floodlight

Floodlight के उपयोगकर्ता, इन कॉन्फ़िगरेशन का इस्तेमाल करके सीएसपी चालू कर सकते हैं. <FLOODLIGHT-CONFIG-ID> की वैल्यू को, Floodlight के किसी खास विज्ञापन देने वाले व्यक्ति या कंपनी के आईडी या * से बदलें, ताकि किसी भी विज्ञापन देने वाले व्यक्ति या कंपनी के आईडी की अनुमति दी जा सके:

सभी उपयोगकर्ताओं के लिए:

डायरेक्टिव कॉन्टेंट
img-src https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com
https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com
https://ad.doubleclick.net

"कस्टम स्क्रिप्ट" वाले बीकन के लिए:

डायरेक्टिव कॉन्टेंट
frame-src https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net

इमेज टैग के लिए:

डायरेक्टिव कॉन्टेंट
img-src https://ad.doubleclick.net https://ade.googlesyndication.com

सर्विस वर्कर

बेहतर मैच, उपयोगकर्ता के डेटा के बीकन, और Google Ads के कन्वर्ज़न के लिए, सर्विस वर्कर का इस्तेमाल करने के लिए, सीएसपी में ये डायरेक्टिव होने चाहिए:

डायरेक्टिव कॉन्टेंट
frame-src https://www.googletagmanager.com

Tag Assistant की मदद से समस्या हल करना

कॉन्टेंट की सुरक्षा के लिए नीति (सीएसपी) से जुड़ी समस्याओं को हल करने के लिए, Tag Assistant का इस्तेमाल करें. Tag Assistant, उन रिसॉर्स की सूची दिखाएगा जिन्हें आपकी कॉन्टेंट की सुरक्षा के लिए नीति ने ब्लॉक किया है.

  1. Tag Assistant खोलें और अपनी वेबसाइट का यूआरएल डालें. आपकी वेबसाइट एक नए टैब में खुल जाएगी.

  2. अगर आपके पेज पर मौजूद कॉन्टेंट की सुरक्षा के लिए नीति, किसी रिसॉर्स को ब्लॉक कर रही है, तो Tag Assistant के पेज की समस्याएं सेक्शन में, सीएसपी से जुड़ी समस्या दिखती है.

    Tag Assistant का स्क्रीनशॉट, जिसमें सीएसएपी से जुड़ी समस्या दिख रही है

  3. अपने पेज पर ब्लॉक किए गए सभी रिसॉर्स की सूची देखने के लिए, सीएसपी से जुड़ी समस्या के बगल में मौजूद समस्या देखें को चुनें. Tag Assistant का स्क्रीनशॉट, जिसमें सीएसएपी से जुड़ी समस्या का स्लाइडर दिखाया गया है

  4. ब्लॉक किए गए सभी रिसॉर्स को, कॉन्टेंट की सुरक्षा के लिए नीति में जोड़ें.