Bu makalede, İçerik Güvenliği Politikası (İGP) ve bu politikayı AdSense reklam kodunuza nasıl entegre edeceğiniz açıklanmaktadır. Yayıncıların İGP'yi kullanmasının zorunlu olmadığını unutmayın. İGP'yi kullanmak istiyorsanız İGP'yi etkinleştirdiğinizde AdSense kodunuzun düzgün çalıştığından emin olmak için aşağıdaki adımları uygulayın.
İGP nedir?
İçerik Güvenliği Politikası (İGP), hangi kaynakların ve komut dosyalarının yüklenmesine ve yürütülmesine izin verildiğini sınırlayarak web sayfanızı güvence altına almanızı sağlar. Web sunucunuzdan gelen HTTP yanıtlarında bir Content-Security-Policy başlığı ayarlayarak İGP'yi etkinleştirebilirsiniz.
İGP'yi yapılandırmanın iki standart yolu vardır:
- Kaynaklarını sayfaya ekleyebilen alanların izin verilenler listesini belirtin.
- Bir tek seferlik rastgele sayı belirtin. Sayfadaki kaynakların yüklenmesi için bu sayıyla işaretlenmesi gerekir. Bu yaklaşıma katı İGP denir.
AdSense reklam kodunun kullandığı alanlar zaman içinde değiştiğinden yalnızca katı İGP'yi (2. seçenek) destekliyoruz. Bu yaklaşım, güncelliğini yitirebilecek ve sitenizi bozabilecek alan adlarının yer aldığı bir liste tutma ihtiyacını ortadan kaldırır.
AdSense reklam koduyla katı İGP ayarlama
Web sunucunuzda İGP'yi etkinleştirmek için Katı bir İGP benimseme konulu makalede açıklanan adımları uygulayın. Bu makalede, İGP başlığının nasıl ayarlanacağı ve AdSense kodu da dahil olmak üzere sayfanızdaki her komut dosyası etiketine tek seferlik şifrenin nasıl uygulanacağı açıklanmaktadır. AdSense kodu özellikle aşağıdaki İGP yönergelerini destekler:
Content-Security-Policy:
object-src 'none';
script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:;
base-uri 'none';
report-uri https://your-report-collector.example.com/Kullanım alanınıza uygunsa daha az kısıtlayıcı bir politika seçebilirsiniz. Daha kısıtlayıcı politikalar, sitenizin işlevinde önceden haber verilmeksizin sorun yaşanmasına neden olabilir.
Kod örneği
Aşağıda, katı İGP'ye sahip AdSense kodu örneği verilmiştir:
<script nonce="${nonce}" async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1234&host=ca-host-pub-5678" crossorigin="anonymous">
</script>
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-1234"
data-ad-host="ca-host-pub-5678">
</ins>
<script nonce="${nonce}">
(adsbygoogle = window.adsbygoogle || []).push({});
</script>Test etme
Öncelikle Content-Security-Policy yerine Content-Security-Policy-Report-Only başlığını ayarlayarak politikalarınızı test etmenizi öneririz. Başlık, ihlalleri bildirir ancak bu ihlallerin sayfada bulunmasına izin vermeye devam eder.