استخدام أداة "إدارة العلامات من Google" مع سياسة أمان المحتوى

سياسة أمان المحتوى (CSP) هي معيار أمان على الويب متوافق على نطاق واسع ويهدف إلى منع أنواع معيّنة من الهجمات المستندة إلى الحقن من خلال منح المطوّرين إمكانية التحكّم في الموارد التي يتم تحميلها بواسطة تطبيقاتهم. استخدِم هذا الدليل للتعرّف على كيفية نشر أداة "إدارة العلامات من Google" على المواقع الإلكترونية التي تستخدم سياسة أمان المحتوى (CSP).

تفعيل علامة الحاوية لاستخدام سياسة أمان المحتوى

لاستخدام "إدارة العلامات من Google" على صفحة تتضمّن سياسة أمان المحتوى، يجب أن تسمح سياسة أمان المحتوى بتنفيذ رمز حاوية "إدارة العلامات". تم إنشاء هذا الرمز كرمز JavaScript مضمّن يدرج النص البرمجي gtm.js. تتوفّر عدة طرق لتنفيذ ذلك، مثل استخدام رقم خاص أو قيمة تجزئة. الطريقة المقترَحة هي استخدام رقم خاص، والذي يجب أن يكون قيمة عشوائية غير قابلة للتخمين ينشئها الخادم بشكل فردي لكل استجابة. قدِّم قيمة nonce في التوجيه script-src-elem ضمن Content-Security-Policy:

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

بعد ذلك، استخدِم نسخة رمز حاوية Tag Manager المضمّن التي تتوافق مع nonce. اضبط سمة nonce على عنصر النص البرمجي المضمّن على القيمة نفسها:

<!-- 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 الرقم الخاص إلى أي نصوص برمجية تضيفها إلى الصفحة.

تتوفّر طرق أخرى لتفعيل تنفيذ نص برمجي مضمّن، مثل توفير تجزئة النص البرمجي المضمّن في سياسة أمان المحتوى.

إذا لم يكن من الممكن استخدام طرق nonce أو التجزئة المقترَحة، يمكن تفعيل النص البرمجي المضمّن في Tag Manager من خلال إضافة التوجيه 'unsafe-inline' إلى القسم script-src-elem في سياسة أمان المحتوى.

يجب تضمين التوجيهات التالية في سياسة CSP لاستخدام هذا الأسلوب:

الأمر المحتوى
script-src-elem ‎'unsafe-inline' https://www.googletagmanager.com
img-src www.googletagmanager.com
connect-src www.googletagmanager.com www.google.com

متغيّرات JavaScript المخصّصة

بسبب طريقة تنفيذ متغيّرات JavaScript المخصّصة، سيتم تقييمها على أنّها undefined في حال توفّر سياسة أمان المحتوى، ما لم يتم تقديم توجيه 'unsafe-eval' في القسم script-src من سياسة أمان المحتوى.

الأمر المحتوى
script-src ‎'unsafe-eval'‎

وضع المعاينة

لاستخدام وضع المعاينة في Google Tag Manager، يجب أن تتضمّن سياسة أمان المحتوى التوجيهات التالية:

الأمر المحتوى
script-src-elem https://www.googletagmanager.com https://tagmanager.google.com
style-src https://www.googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com
img-src https://www.googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com
font-src https://fonts.gstatic.com data:

إحصاءات Google

لاستخدام علامة "إحصاءات Google"، يجب أن تتضمّن سياسة أمان المحتوى التوجيهات التالية. نقاط النهاية التي تحمل العلامة 1 مخصّصة تحديدًا لميزات الإعلان، ولكن ننصح بتضمينها أثناء الإعداد الأوّلي حتى لا تحتاج إلى تعديل "سياسة أمان المحتوى" في حال ربط "إعلانات Google" لاحقًا.

الأمر المحتوى
script-src-elem https://www.googletagmanager.com
img-src https://*.google-analytics.com
https://www.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://www.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 نقاط نهاية الإعلانات: لا تكون هذه النطاقات مطلوبة بشكل نشط إلا لعمليات نشر "إحصاءات Google" المرتبطة بـ "إعلانات Google" أو التي تستخدم الميزات الإعلانية.

لاستخدام علامة إحالة ناجحة أو تجديد نشاط تسويقي أو علامة ربط إحالة ناجحة في "إعلانات Google"، يجب أن تتضمّن سياسة أمان المحتوى التوجيهات التالية:

الأمر المحتوى
script-src-elem 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" عند التشغيل في سياقات آمنة، يجب أن تتضمّن "سياسة أمان المحتوى" التوجيهات التالية:

الأمر المحتوى
script-src-elem https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://google.com https://www.google.com

لا يتم تشغيل إشارة بيانات المستخدمين في "إعلانات Google" في سياقات غير آمنة، وبالتالي لا ينطبق إعداد سياسة أمان المحتوى في هذه الحالات.

Floodlight

يمكن لمستخدمي Floodlight تفعيل CSP باستخدام الإعدادات التالية. استبدِل قيم <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

Merchant Center

لإرسال البيانات إلى Merchant Center، يجب أن يتضمّن CSP التوجيهات التالية:

الأمر المحتوى
script-src-elem https://www.googletagmanager.com
img-src https://*.merchant-center-analytics.goog
connect-src https://*.merchant-center-analytics.goog

مشغّل الخدمات

لاستخدام Service Worker مع ميزة "المطابقة المحسّنة" وإشارات بيانات المستخدمين والإحالات الناجحة في "إعلانات Google"، يجب أن تتضمّن سياسة أمان المحتوى التوجيهات التالية:

الأمر المحتوى
frame-src https://www.googletagmanager.com

تحديد المشاكل وحلّها باستخدام Tag Assistant

لتحديد المشاكل المتعلّقة بسياسة أمان المحتوى (CSP) وحلّها، استخدِم Tag Assistant. ستعرض أداة Tag Assistant قائمة المراجع المحظورة بموجب "سياسة أمان المحتوى".

  1. افتح Tag Assistant وأدخِل عنوان URL لموقعك الإلكتروني. يتم فتح موقعك الإلكتروني في علامة تبويب جديدة.

  2. إذا كانت "سياسة أمان المحتوى" في صفحتك تحظر أحد الموارد، ستظهر مشكلة في "سياسة أمان المحتوى" في قسم مشاكل الصفحة في Tag Assistant.

    لقطة شاشة لـ Tag Assistant تعرض مشكلة في سياسة أمان المحتوى

  3. انقر على عرض المشكلة بجانب مشكلة CSP للاطّلاع على قائمة بجميع الموارد المحظورة على صفحتك. لقطة شاشة لـ Tag Assistant تعرض شريط تمرير مشكلة CSP

  4. أضِف جميع الموارد المحظورة إلى "سياسة أمان المحتوى".