İç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, Maps JavaScript API için web sitesinin İç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ştiriciler bu örneği bir referans olarak kullanmaları, daha fazla CSP ihlali yapılmaana kadar hassas ayarlar yapmaları önerilir.

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

Yüksek düzeyde CSP

Güvenlik saldırıları olasılığını azaltmak için izin verilen CSP'nin üzerinde izin verilenler listesine eklenmiş sıkı CSP kullanmanızı öneririz. Maps JavaScript API, tek seferlik olmayan katı CSP kullanımını destekler. Web siteleri hem script hem de style öğelerini tek bir değer ile doldurmalıdır. Dahili olarak, Maps JavaScript API bu tür ilk öğeyi bulur ve nonce 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 CSP gösterilmektedir:

Ö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'si oluşturduysanız lütfen Google Haritalar Alanları listesine bakın. Güncel bilgilerden haberdar olmak için bu belgeyi ve Maps JavaScript API sürüm notlarını incelemenizi ve gerekirse yeni hizmet alanını izin verilenler listesine eklemenizi öneririz.

Haritalar JavaScript API'sini eski bir Google API'leri alanından (örneğin, maps.google.com) veya bölgeye özgü bir alandan (örneğin, maps.google.fr) yükleyen web siteleri, aşağıdaki örnekte gösterildiği gibi bu alan adlarını 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:;