İçerik Güvenliği Politikası Rehberi

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Bu dokümanda, web sitesinin Haritalar JavaScript API'si için İçerik Güvenliği Politikası'nın (CSP) nasıl yapılandırılacağıyla ilgili öneriler sunulmaktadır. Son kullanıcılar çok çeşitli tarayıcı türlerini ve sürümlerini kullandığından, geliştiricilerin bu örneği referans olarak kullanmaları önerilir.

İçerik Güvenliği Politikası hakkında daha fazla bilgi edinin.

Katı CSP

Güvenlik saldırısı olasılığını azaltmak için izin verilenler listesi CSP üzerinden katı CSP kullanmanızı öneririz. Maps JavaScript API, tabanlı olmayan katı CSP kullanımını destekler. Web siteleri hem script hem de style öğelerini tek bir değerle doldurmalıdır. Dahili olarak Maps JavaScript API bu tür ilk öğeyi bulur ve sıra dışı değerini API komut dosyası tarafından eklenen stile veya komut dosyası öğelerine uygular.

Örnek

Aşağıdaki örnekte, yerleştirilmiş bir HTML sayfasıyla birlikte örnek bir İGP gösterilmiştir:

Örnek İçerik Güvenliği Politikası

script-src 'nonce-{script value}' 'strict-dynamic' https: 'unsafe-eval' blob:;
img-src 'self' https://*.googleapis.com https://*.gstatic.com *.google.com *.googleusercontent.com data:;
frame-src *.google.com;
connect-src 'self' https://*.googleapis.com *.google.com https://*.gstatic.com data: blob:;
font-src https://fonts.gstatic.com;
style-src 'nonce-{style value}' https://fonts.googleapis.com;
worker-src blob:;

Örnek HTML sayfası

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css" nonce="{style value}">
    <style nonce="{style value}">...</style>
    ...
  </head>
  <body>
    <div id="map"></div>
    <script src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap" async nonce="{script value}"></script>
    <script nonce="{script value}"> function initMap() { ... } </script>
  </body>
</html>

İzin verilenler listesi CSP

İzin verilenler listesi CSP'yi ayarladıysanız Google Haritalar Alanları listesine bakın. Son gelişmelerden haberdar olmak için bu dokümana ve Maps JavaScript API sürüm notlarına bakmanızı ve gerekirse yeni hizmet alanını izin verilenler listesine eklemenizi öneririz.

Maps JavaScript API'yi eski bir Google API'leri alanından (ör. maps.google.com) veya bölgeye özel bir alandan (ör. maps.google.fr) yükleyen web siteleri, aşağıdaki örnekte gösterildiği gibi bu alanları CSP script-src ayarlarına da dahil etmelidir:

script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.googleapis.com https://*.gstatic.com *.google.com https://*.ggpht.com *.googleusercontent.com blob:;
img-src 'self' https://*.googleapis.com https://*.gstatic.com *.google.com  *.googleusercontent.com data:;
frame-src *.google.com;
connect-src 'self' https://*.googleapis.com *.google.com https://*.gstatic.com  data: blob:;
font-src https://fonts.gstatic.com;
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
worker-src blob:;