Безопасность Google Geocoding API

Я задаю этот вопрос после тщательного прочтения рекомендованного Google подхода, но у меня есть проблема со всеми этими подходами, позвольте мне объяснить ситуацию.

Я использую комбинацию API геолокации и геокодирования, чтобы узнать приблизительное местоположение, а затем отобразить соответствующий контент. API геолокации должен вызываться явно из браузера, чтобы получить соответствующую геолокацию пользователя. Google предоставляет ограничения на основе HTTP Referrer для этого API. Я знаю, что кто-то может легко подделать реферер и совершать звонки с одним и тем же ключом API. Я не вижу огромного преимущества, хотя Google рекомендует это.

С другой стороны, Google не разрешает HTTP Referrer для API геокодирования, но допускает это для API-интерфейса MAPS JavaScript. Но опять же, если вы не используете карты Google, то использование этого API является нарушением условий Google. Теперь Google рекомендует переместить код, использующий API веб-сервисов геокодирования, на бэкэнд, чтобы ваш ключ был защищен. Но так как в конечном итоге мне нужно доставить результат в интерфейсное веб-приложение, которое является общедоступным, и я могу сделать только Ajax-вызов на основе браузера, чтобы сначала получить геолокацию для подачи в геокодирование, мне в конечном итоге нужно сделать Ajax-вызов, чтобы моя информация о геокодировании. Тогда кто-то может легко привязаться к моей конечной точке и вернуться к ней и вызывать API геокодирования сколько угодно. Поэтому для подобных ситуаций я хочу знать, каков идеальный и безопасный способ иметь дело. Может быть, есть другие API, которые могут быть идеальной ситуацией для этого.

0 ответов

В моем случае я не делаю никаких карт, так что все это только на стороне сервера, чтобы получить широты. долготы и расстояние между двумя точками. Это сегодня от службы поддержки Google, которая может помочь, и если вы используете карты, то ссылки могут дать дополнительную информацию.

Что касается ограничений API, обратите внимание, что ссылки HTTP не будут работать в API геокодирования, поскольку ссылки HTTP могут использоваться только для служб на стороне клиента. Другими словами, геокодирование является API веб-службы и должно использоваться только при реализации на стороне сервера. Ограничения IP-адресов должны использоваться для API веб-служб. Однако если вы используете API геокодирования на веб-сайте, ограничение IP-адреса не будет работать. Пожалуйста, проверьте подходящие ограничения для каждого API по следующей ссылке:

https://developers.google.com/maps/api-key-best-practices

Чтобы это работало, вы должны создать отдельный ключ и использовать новый в URL-адресе запроса API геокодирования. Вы можете добавить ограничение к этому ключу, используя "ограничение API", и ограничить его только API геокодирования. Если вы не хотите создавать другой ключ, вы можете продолжать использовать свой текущий ключ, но обязательно измените свою реализацию и воспользуйтесь сервисом геокодирования на стороне клиента из API JavaScript Карт. В этом случае, пожалуйста, обратитесь к этой документации:

https://developers.google.com/maps/documentation/javascript/geocoding

Другим предложением может быть получение статического IP-адреса от вашего интернет-провайдера, особенно если вы планируете использовать его на общедоступном веб-сайте. Для целей разработки разумным решением было бы получить три отдельных ключа: один для подготовки и тестирования, другой для запросов на стороне сервера и третий для запросов на стороне клиента. Таким образом, вы убедитесь, что ваш ключ API защищен.

Другие вопросы по тегам