Параметры работы Google Maps по протоколу SSL
-
08-06-2019 - |
Вопрос
Недавно мы обнаружили, что API Google Maps плохо работает с SSL.Достаточно справедливо, но каковы некоторые варианты преодоления этого, которые другие эффективно использовали?
Будет ли Maps API работать через SSL (HTTPS)?
В настоящее время Maps API недоступен по защищенному (SSL) соединению.Если вы используете Maps API на защищенном сайте, браузер может предупреждать пользователя о незащищенных объектах на экране.
Мы рассмотрели следующие варианты
- Разделите страницу таким образом, чтобы информация о получении кредитной карты (требование для SSL) находилась не на той же странице, что и карта Google.
- Переключение на другого поставщика карт, например Virtual Earth.Ходят слухи, что они поддерживают SSL.
- Разыгрываем фокусы с IFRAMEs.Звучит бестолково.
- Проксирование звонков в Google.Похоже, это большие накладные расходы.
Есть ли другие варианты, или у кого-нибудь есть представление о вариантах, которые мы рассмотрели?
Решение
Я бы согласился с предыдущими двумя ответами, что в данном случае, возможно, было бы лучше с точки зрения удобства использования разделить две функции на отдельные экраны.Вы действительно хотите, чтобы ваши пользователи были сосредоточены на вводе полной и точной информации о кредитной карте, а наличие карты на одном экране может отвлекать.
Между прочим, 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 maps api) обратно в Google, но они вполне могут быть на картах.
Похоже, это проблема с требованиями бизнеса / удобством использования - есть ли у вас веская причина для размещения карты на странице кредитной карты?Если это так, возможно, стоит разобраться с некоторыми техническими проблемами.
Вы могли бы попробовать использовать Структура карты, таким образом, вы можете переключиться на провайдера, поддерживающего SSL, и снова переключиться на Google, если они будут поддерживать его в будущем.
Я бы предпочел ваше первое решение.Это позволяет пользователю сосредоточиться на вводе данных своей кредитной карты.
Затем вы можете перенести их на другую веб-страницу, которая запрашивает или предоставляет им дополнительную информацию, касающуюся Карты Google.
Если вы являетесь Премьера API Google Maps клиент, тогда поддерживается SSL.Мы используем это, и это хорошо работает.
До того, как Google сделал доступным SSL, мы проксировали весь трафик, и это работало приемлемо.При использовании такого подхода вы теряете преимущество CDN Google и можете получить запрет на свой IP-адрес, поскольку будет казаться, что вы генерируете много трафика.
Если вы получаете ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ в IE 9 при отображении Google Maps, используйте
<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>