कॉन्टेंट की सुरक्षा के लिए बनी नीति की गाइड

इस दस्तावेज़ में, Maps JavaScript API के लिए वेबसाइट की कॉन्टेंट सिक्योरिटी पॉलिसी (सीएसपी) को कॉन्फ़िगर करने के तरीके के बारे में सुझाव दिए गए हैं. एंड यूज़र अलग-अलग तरह के ब्राउज़र और उनके वर्शन का इस्तेमाल करते हैं. इसलिए, डेवलपर को इस उदाहरण का इस्तेमाल रेफ़रंस के तौर पर करने का सुझाव दिया जाता है. साथ ही, उन्हें इसे तब तक बेहतर बनाने के लिए कहा जाता है, जब तक सीएसपी से जुड़े उल्लंघन पूरी तरह से ठीक न हो जाएं.

कॉन्टेंट सिक्योरिटी पॉलिसी के बारे में ज़्यादा जानें.

स्ट्रिक्ट सीएसपी

हमारा सुझाव है कि सुरक्षा से जुड़े हमलों को कम करने के लिए, अनुमति वाली सूची वाली सीएसएपी के बजाय सख्त सीएसएपी का इस्तेमाल करें. Maps JavaScript API, नॉनस पर आधारित स्ट्रिक्ट सीएसपी के इस्तेमाल का समर्थन करता है. वेबसाइटों को script और style, दोनों एलिमेंट में नॉनस वैल्यू डालनी होगी. Maps JavaScript API, अंदरूनी तौर पर इस तरह के पहले एलिमेंट को ढूंढ लेगा. साथ ही, एपीआई स्क्रिप्ट से डाले गए स्टाइल या स्क्रिप्ट एलिमेंट पर, इसकी नॉन्स वैल्यू लागू कर देगा.

उदाहरण

यहां दिए गए उदाहरण में, सीएसएपी का एक सैंपल दिखाया गया है. साथ ही, उस एचटीएमएल पेज के बारे में बताया गया है जिसमें इसे एम्बेड किया गया है:

कॉन्टेंट की सुरक्षा के बारे में नीति का सैंपल

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:;

एचटीएमएल पेज का सैंपल

<!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>

सीएसपी को अनुमति वाली सूची में शामिल करना

अगर आपने अनुमति वाली सूची वाला सीएसपी सेट अप किया है, तो कृपया Google Maps के डोमेन की सूची देखें. हमारा सुझाव है कि अप-टू-डेट रहने के लिए, इस दस्तावेज़ और Maps JavaScript API के रिलीज़ नोट पढ़ें. साथ ही, अगर ज़रूरत हो, तो किसी नए सेवा डोमेन को अनुमति वाली सूची में शामिल करें.

जो वेबसाइटें, Maps JavaScript API को Google APIs के लेगसी डोमेन (उदाहरण के लिए, maps.google.com) या देश/इलाके के हिसाब से तय किए गए डोमेन (उदाहरण के लिए, maps.google.fr) से लोड करती हैं उन्हें भी अपने CSP script-src सेटिंग में इन डोमेन के नाम शामिल करने होंगे. जैसा कि इस उदाहरण में दिखाया गया है:

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:;