İçerik Güvenliği Politikası (CSP), geliştiricilere uygulamaları tarafından yüklenen kaynaklar üzerinde kontrol vererek belirli türde enjeksiyon tabanlı saldırıları önlemek için yaygın olarak desteklenen bir web güvenlik standardıdır. CSP kullanan sitelere Google Etiket Yöneticisi'ni nasıl dağıtacağınızı öğrenmek için bu kılavuzdan yararlanabilirsiniz.
CSP'yi kullanmak için kapsayıcı etiketini etkinleştirin
Google Etiket Yöneticisi'ni CSP içeren bir sayfada kullanmak için CSP'nin, Etiket Yöneticisi kapsayıcı kodunuzun yürütülmesine izin vermesi gerekir. Bu kod, gtm.js
komut dosyasını ekleyen satır içi JavaScript kodu olarak oluşturulur. Bunu yapmanın birkaç yolu vardır (ör. tek kullanımlık kod veya karma oluşturma). Önerilen yöntem, nonce kullanmaktır. Bu, sunucunun her yanıt için ayrı ayrı oluşturduğu tahmin edilemeyen, rastgele bir değer olmalıdır. Content-Security-Policy script-src
yönergesinde tek seferlik değeri sağlayın:
Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com
Ardından, satır içi Etiket Yöneticisi kapsayıcı kodunun tek seferlik kod bilincine sahip sürümünü kullanın. Satır içi komut dosyası öğesindeki tek seferlik özelliğini aynı değere ayarlayın:
<!-- 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 -->
Ardından Etiket Yöneticisi, tek seferlik rastgele sayıyı sayfaya eklediği tüm komut dosyalarına dağıtır.
Satır içi komut dosyasının yürütülmesini etkinleştirmenin başka yaklaşımları da vardır. Örneğin, CSP'de satır içi komut dosyasının karmasını sağlamak gibi.
Önerilen tek seferlik veya karma yaklaşımlar uygun değilse CSP'nin script-src
bölümüne 'unsafe-inline'
yönergesini ekleyerek Etiket Yöneticisi satır içi komut dosyasını etkinleştirmek mümkündür.
Bu yaklaşımın kullanılabilmesi için İGP'de aşağıdaki yönergeler gereklidir:
Yönerge | İçerik |
---|---|
script-src | 'unsafe-inline' https://www.googletagmanager.com |
img-src | www.googletagmanager.com |
connect-src | www.googletagmanager.com |
Özel JavaScript Değişkenleri
Özel JavaScript değişkenleri, CSP'nin script-src
bölümünde 'unsafe-eval'
yönergesi sağlanmadığı sürece CSP'nin varlığında undefined
olarak değerlendirilir.
Yönerge | İçerik |
---|---|
script-src | 'unsafe-eval' |
Önizleme Modu
Google Etiket Yöneticisi'nin Önizleme Modu'nu kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
Yönerge | İçerik |
---|---|
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 verileri: |
Google Analytics 4 (Google Analytics)
Google Analytics 4 (Google Analytics) etiketini kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
Yönerge | İçerik |
---|---|
script-src | https://*.googletagmanager.com |
img-src | https://*.google-analytics.com https://*.googletagmanager.com |
connect-src | https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com |
Google sinyallerini kullanan Google Analytics 4 (Google Analytics) dağıtımları için İGP'de aşağıdaki yönergeler bulunmalıdır:
Yönerge | İçerik |
---|---|
script-src | https://*.googletagmanager.com |
img-src | https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD> |
connect-src | https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD> |
frame-src | https://td.doubleclick.net |
Google Ads
Google Ads dönüşüm, yeniden pazarlama veya dönüşüm bağlayıcı etiketi kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
Yönerge | İçerik |
---|---|
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://google.com https://www.google.com.<TLD> https://pagead2.googlesyndication.com |
frame-src | https://www.googletagmanager.com https://td.doubleclick.net |
connect-src | https://pagead2.googlesyndication.com https://www.googleadservices.com https://www.google.com https://google.com |
Google Ads Kullanıcı Verileri İşaretçisi
Google Ads kullanıcı verisi işaretçilerini güvenli bağlamlarda çalıştırırken kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
Yönerge | İçerik |
---|---|
script-src | https://www.googletagmanager.com |
frame-src | https://www.googletagmanager.com |
connect-src | https://google.com https://www.google.com |
Google Ads kullanıcı verisi işaretçisi güvenli olmayan bağlamlarda çalışmaz. Bu nedenle, bu durumlarda CSP yapılandırması geçerli değildir.
Floodlight
Floodlight kullanıcıları aşağıdaki yapılandırmaları kullanarak CSP'leri etkinleştirebilir. <FLOODLIGHT-CONFIG-ID>
değerlerini belirli bir Floodlight reklamveren kimliğiyle veya herhangi bir reklamveren kimliğine izin vermek için *
ile değiştirin:
Tüm kullanıcılar için:
Yönerge | İçerik |
---|---|
img-src | https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com https://www.googletagmanager.com |
frame-src | https://td.doubleclick.net |
connect-src | https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com |
"Özel komut dosyaları" işaretçileri için:
Yönerge | İçerik |
---|---|
frame-src | https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net |
Resim etiketleri için:
Yönerge | İçerik |
---|---|
img-src | https://ad.doubleclick.net https://ade.googlesyndication.com |