سؤال

لقد اكتشفنا مؤخرًا أن واجهة برمجة التطبيقات لخرائط Google لا تعمل بشكل جيد مع طبقة المقابس الآمنة (SSL).هذا عادل بما فيه الكفاية، ولكن ما هي بعض الخيارات للتغلب على هذا والتي استخدمها الآخرون بفعالية؟

هل ستعمل Maps API عبر SSL (HTTPS)؟

في هذا الوقت ، لا تتوفر واجهة برمجة تطبيقات MAPS عبر اتصال آمن (SSL).إذا كنت تقوم بتشغيل واجهة برمجة تطبيقات الخرائط على موقع آمن ، فقد يحذر المتصفح المستخدم من الكائنات غير الآمنة على الشاشة.

لقد نظرنا في الخيارات التالية

  1. تقسيم الصفحة بحيث لا يكون جمع بطاقات الائتمان (متطلب طبقة المقابس الآمنة) في نفس صفحة خريطة Google.
  2. التبديل إلى موفر خرائط آخر، مثل Virtual Earth.تقول الشائعات أنهم يدعمون SSL.
  3. لعب الحيل مع IFRAMEs.يبدو kludgy.
  4. وكيل المكالمات إلى جوجل.يبدو وكأنه الكثير من النفقات العامة.

هل هناك خيارات أخرى، أو هل لدى أي شخص نظرة ثاقبة للخيارات التي أخذناها في الاعتبار؟

هل كانت مفيدة؟

المحلول

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

للعلم، من المؤكد أن Virtual Earth تدعم SSL بشكل كامل.لتمكينه، تحتاج ببساطة إلى تغيير مرجع البرنامج النصي من http:// إلى https:// وإلحاق &s=1 بعنوان URL، على سبيل المثال.

<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1" type="text/javascript"></script>

يصبح

<script src="https://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1&s=1" type="text/javascript"></script>

نصائح أخرى

لمجرد أن نضيف إلى ذلك

http://googlegeodevelopers.blogspot.com/2011/03/maps-apis-over-ssl-now-available-to-all.html

لم أحاول ترحيل خرائط SSL الخاصة بي (انتهى الأمر باستخدام واجهة برمجة تطبيقات خرائط Bing) مرة أخرى إلى Google حتى الآن ولكن قد تكون موجودة على البطاقات.

يبدو أن هذا يمثل مشكلة متعلقة بمتطلبات العمل/قابلية الاستخدام - هل لديك سبب وجيه لوضع الخريطة على صفحة بطاقة الائتمان؟إذا كان الأمر كذلك، فربما يكون من المفيد العمل على حل بعض المشكلات الفنية.

قد تحاول استخدام رسم الخرائط, ، حتى تتمكن من التبديل إلى موفر يدعم طبقة المقابس الآمنة (SSL)، والعودة إلى Google إذا كان يدعمها في المستقبل.

سأذهب مع الحل الأول الخاص بك.يتيح ذلك للمستخدم التركيز على إدخال تفاصيل بطاقة الائتمان الخاصة به.

يمكنك بعد ذلك نقلهم إلى صفحة ويب أخرى تطلب منهم أو توفر لهم المزيد من المعلومات المتعلقة بخريطة Google.

إذا كنت خرائط جوجل API Premier العميل، ثم يتم دعم SSL.نحن نستخدم هذا ويعمل بشكل جيد.

قبل أن تتيح Google طبقة المقابس الآمنة (SSL)، قمنا بتوكيل كل حركة المرور وقد نجح هذا الأمر بشكل مقبول.ستفقد ميزة شبكة CDN الخاصة بـ Google عند استخدام هذا الأسلوب وقد يتم حظر عنوان IP الخاص بك حيث يبدو أنك تولد الكثير من حركة المرور.

إذا كنت تتلقى تنبيهًا أمنيًا على IE 9 أثناء عرض خرائط Google، فاستخدم

<script src="https://maps.google.com/maps?file=api&v=2&hl=en&tab=wl&z=6&sensor=true&key=<?php echo $key;?>
" type="text/javascript"></script>

بدلاً من

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE"
  type="text/javascript"></script>

لقد قمت للتو بإزالة بروتوكول http وقد نجح!

من هذا:

<script src="http://maps.google.com/maps/api/js?sensor=true" type="text/javascript"></script>

الى هذا:

<script src="//maps.google.com/maps/api/js?sensor=true" type="text/javascript"></script>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top