İçerik Güvenliği Politikası (CSP), geliştiricilere uygulamaları tarafından yüklenen kaynaklar üzerinde kontrol sağlayarak belirli yerleştirme tabanlı saldırı türlerini önlemeyi amaçlayan ve yaygın olarak desteklenen bir web güvenliği standardıdır. Google Etiket Yöneticisi'ni CSP kullanan sitelere nasıl dağıtacağınızı anlamak için bu kılavuzdan yararlanın.
CSP kullanmak için kapsayıcı etiketi etkinleştirme
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 tek seferlik rastgele veya karma olarak kullanma gibi birkaç yol vardır. Önerilen yöntem tek seferlik rastgele bir değer kullanmaktır. Bu, sunucunun her yanıt için ayrı ayrı oluşturduğu tahmin edilemeyen, rastgele bir değer olmalıdır. İçerik Güvenliği-Politikası script-src
yönergesinde "nonce" değerini 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 güvenli olmayan sürümünü kullanın. Satır içi komut dosyası öğesindeki nonce ö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 -->
Daha sonra Etiket Yöneticisi, sayfaya eklediği komut dosyalarına tek seferlik rastgele sayıyı yayar.
Satır içi komut dosyasının yürütülmesini sağlamak için CSP'de satır içi komut dosyasının karmasını sağlamak gibi başka yaklaşımlar da vardır.
Önerilen "nonce" veya "hash" yaklaşımları uygun değilse 'unsafe-inline'
yönergesini CSP'nin script-src
bölümüne ekleyerek Etiket Yöneticisi satır içi komut dosyasını etkinleştirebilirsiniz.
Bu yaklaşımı kullanmak için İGP'de aşağıdaki yönergeler gereklidir:
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, uygulanma şekli nedeniyle İGP'nin script-src
bölümünde 'unsafe-eval'
yönergesi belirtilmediği sürece CSP mevcut olduğunda undefined
olarak değerlendirilir.
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:
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)
Google Analytics 4 (Google Analytics) etiketini kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
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 Sinyalleri kullanan Google Analytics 4 (Google Analytics) dağıtımları için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
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>
Universal Analytics (Google Analytics)
Universal Analytics (Google Analytics) etiketini kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
script-src: https://www.google-analytics.com https://ssl.google-analytics.com
img-src: https://www.google-analytics.com
connect-src: https://www.google-analytics.com
Google Ads dönüşümleri
İGP'nin Google Ads dönüşüm etiketi kullanabilmesi için aşağıdaki yönergeleri içermesi gerekir:
Güvenli bağlantılar için:
script-src: https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com
img-src: https://googleads.g.doubleclick.net https://www.google.com https://google.com
frame-src: https://www.googletagmanager.com
Güvenli olmayan bağlantılar için:
script-src: www.googleadservices.com www.google.com www.googletagmanager.com
img-src: googleads.g.doubleclick.net www.google.com google.com
Google Ads yeniden pazarlama
İGP'nin Google Ads yeniden pazarlama etiketini kullanabilmesi için aşağıdaki yönergeleri içermesi gerekir.
Güvenli bağlantılar için:
script-src: https://www.googleadservices.com https://googleads.g.doubleclick.net https://www.google.com
img-src: https://www.google.com https://google.com
frame-src: https://bid.g.doubleclick.net https://td.doubleclick.net
Güvenli olmayan bağlantılar için:
script-src: www.googleadservices.com googleads.g.doubleclick.net www.google.com
img-src: www.google.com google.com
frame-src: bid.g.doubleclick.net td.doubleclick.net
Google Ads Kullanıcı Verileri İşaretçisi
Güvenli bağlamlarda çalışırken Google Ads kullanıcı verisi işaretçilerini kullanmak için CSP aşağıdaki yönergeleri içermelidir:
script-src: https://www.googletagmanager.com
frame-src: https://www.googletagmanager.com
Google Ads kullanıcı verileri işaretçisi güvenli olmayan bağlamlarda çalışmadığından, 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. Herhangi bir reklamveren kimliğine izin vermek için <FLOODLIGHT-CONFIG-ID>
değerlerini belirli bir Floodlight reklamveren kimliğiyle veya *
ile değiştirin:
Tüm kullanıcılar için:
img-src: https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
frame-src: https://td.doubleclick.net
Etiket Yöneticisi'ndeki "özel komut dosyaları" işaretçileri için:
frame-src: https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
Resim etiketleri için:
img-src: https://ad.doubleclick.net
İzin modu için:
img-src: https://ade.googlesyndication.com