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

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

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

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

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

مثال

يعرض المثال التالي نموذج سياسة أمان (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 للخرائط" ملاحظات الإصدار للبقاء على اطّلاع وإدراج أي نطاق خدمة جديد في القائمة المسموح بها إذا لزم الأمر.

المواقع الإلكترونية التي تحمِّل واجهة برمجة تطبيقات 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:;