دليل سياسة أمان المحتوى

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

يقدم هذا المستند توصيات حول كيفية تهيئة سياسة أمان المحتوى (CSP) لموقع الويب لواجهة برمجة تطبيقات جافا سكريبت للخرائط. ونظرًا لأنه يتم استخدام مجموعة متنوعة ومتنوعة من أنواع المتصفحات وإصداراتها من قِبل المستخدمين، نحثّ مطوّري البرامج على استخدام هذا المثال كمرجع، مع ضبط هذا الإعداد بشكل دقيق إلى أن لا يحدث المزيد من انتهاكات سياسة أمان المحتوى (CSP).

مزيد من المعلومات حول سياسة أمان المحتوى

سياسة أمان المحتوى (CSP) الصارمة

ننصح باستخدام سياسة CSP صارمة على القائمة المسموح بها للتخفيف من احتمال وقوع هجمات أمنية. تدعم واجهة برمجة تطبيقات JavaScript للخرائط استخدام سياسة CSP صارمة غير مستندة إلى أساس. يجب أن تملأ المواقع الإلكترونية العناصر script وstyle بقيمة غير مضافة. داخليًا، ستعثر واجهة برمجة تطبيقات جافا سكريبت للخرائط على العنصر الأول من هذا القبيل، وستطبق قيمتها غير المخصصة على عناصر النمط أو النص البرمجي المدرجة بواسطة النص البرمجي لواجهة برمجة التطبيقات على التوالي.

مثال

يوضح المثال التالي نموذج CSP، إلى جانب صفحة HTML تم تضمينه:

نموذج سياسة أمان المحتوى

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

نموذج لصفحة HTML

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

مقدم خدمة الضبط (CSP) للقائمة المسموح بها

إذا أعددت CSP في القائمة المسموح بها، يُرجى الرجوع إلى قائمة نطاقات خرائط Google. نقترح عليك الرجوع إلى هذا المستند وملاحظات الإصدار لواجهة برمجة تطبيقات JavaScript للبقاء مطّلعًا على آخر المستجدات وتضمين نطاق الخدمة الجديد في القائمة المسموح بها إذا لزم الأمر.

يجب على مواقع الويب التي تحمّل واجهة برمجة تطبيقات جافا سكريبت للخرائط من نطاق قديم في 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:;