Undefined parameter first что значит в гугл картах
Гид по API Google Maps: разбираем по шагам
Что такое API в Google Maps
Для определения запросов какой-либо компании требуется специальный идентификатор. Это и есть Google API. С его помощью можно использовать интерфейс всем знакомых карт Google, добавлять их в различные приложения, да еще и подстраивать под свой бренд.
Четыре эффективных инструмента позволят быстро и легко настроить карты под свои нужды с использованием APIs.
Как настроить Google Maps
У новичков часто возникают трудности, так как приходится изучать много важной информации. Обезопасить ключ, посмотреть ограничения, подключенные услуги и так далее.
Сначала нужно перейти на страницу cloud.google.com/maps-platform/ и нажать Get started.
Нас перенаправляют на страницу, где нужно выбрать страну и согласиться с условиями:
На следующей странице потребуют создать платежный аккаунт.
Заполнили информацию об аккаунте? Теперь следует внести платежные данные. Когда все готово, останется кликнуть «Начать бесплатный пробный период».
Если появится фраза «включить платформу Google Maps», это значит, что все сделали правильно. Чтобы активировать API Key, нужно нажать Next. В конце Google покажет сам ключ, а закрыть окошко можно с помощью кнопки Done.
Как настроить ключ
Создание ключа – это лишь начало. Теперь его нужно правильно настроить. Он не должен попасть в чужие руки, да и за бюджетом следить не помешает.
Начать следует с ссылки «Учетные данные», которая находится в левом меню. Здесь находится сам ключ. Настроить его можно, нажав на значок карандаша. Имя можно поменять на название проекта. Например, многие пишут имя сайта. Лимиты и границы настраивают в разделе «Ограничения ключа». Здесь всего две вкладки: первая для приложений, вторая для API. В этих вкладках нужно настроить службы и веб-сайты. Чтобы изменения вступили в силу, настройки следует сохранить.
Здесь же обязательно следует включить кредит от Google. Эта кнопка находится в самом низу поля редактирования бюджета. Именно эта возможность позволяет использовать сервис бесплатно.
Можно установить не только общие ограничения, но и отдельные.
В чем польза для разработчиков
С помощью Google Maps API можно успешно развивать backend-направления и оптимизировать запросы.
API для программно-административной части
Сами карты для таких целей используют редко. Зато API отлично подходит, чтобы узнать расстояние между точками и обрабатывать GPS-запросы.
Чтобы напрямую обращаться к серверам Google, используют службу Geocoding. Она работает с HTTP-запросами.
Хотя для обработки данных можно применять и другие инструменты. Бесплатно работать с серверной частью помогают:
Про них мы поговорим чуть позже, когда будем рассказывать об альтернативных сервисах.
Для эффективной оптимизации используют два варианта:
Как на этом сэкономить
У каждой организации могут быть индивидуальные способы экономии денег на API. Но все же существуют обобщенные варианты, которые подходят практически всем.
Альтернативные сервисы
Когда по каким-то причинам Google не подходит, используют другие сервисы. У них тоже достаточно приличная коллекция инструментов и служб, а по деньгам иногда выходит значительно дешевле.
Пожалуй, это главный конкурент Google. Отлично подойдет российским организациям и разработчикам, которым не требуется детальная прорисовка зарубежных объектов. И здесь тоже присутствует четыре службы:
Их можно использовать абсолютно бесплатно. Конечно, если соблюдать некоторые правила :
Если сравнить цены у Яндекса и Google, у первого услуги выходят дешевле.
Еще одним важным преимуществом является то, что сервис предлагает электронные и бумажные отчеты для бухгалтерии.
Здесь встречаются тарифные планы, которые действуют специально для тех, кто переходит к ним с Google.
Преимущество в том, что не нужно привязывать банковскую карту для изучения всех возможностей сервиса.
Бесплатный тарифный план называется Freemium. Он предлагает 250 000 запросов в месяц. Если лимит превысить, то за каждую 1000 придется платить по одному доллару.
По статическим изображениям API здесь количество месячных запросов – 50 000 штук. Дополнительная оплата за 1000 запросов сверх лимита составляет 1 доллар.
Здесь тоже можно подстроить интерфейс под себя, а также создавать визуальные 2D- и 3D-модели карт. Геокодинг, навигация и многие другие функции тоже доступны.
Расширенный функционал предлагает еще больше возможностей. Среди них спутниковые данные, преобразование для среды Unity и других игровых платформ, визуализация в Power BI.
Среди знаменитых почитателей этого сервиса можно выделить Facebook и Twitter.
Этот поставщик онлайн-карт использует собственную библиотеку MapBox.js, а информацию он берет с разных источников. Сюда входит NASA и OpenStreetMap.
Этот сервис подойдет тем, кому не нужен слишком богатый функционал, но и платить деньги не хочется. Люди с разных уголков планеты вносят свой вклад в развитие проекта, так как исходный код открытый.
Но здесь следует учитывать некоторые особенности работы:
Возможностей здесь мало, зато и деньги платить не нужно.
Остальные сервисы тоже пользуются спросом и имеют свои преимущества. Это:
Заключение
Многим организациям полезно использовать карты Google. Но и разработчики откроют для себя в этом мощном инструменте массу возможностей. Давайте еще раз повторим основные моменты, о которых мы говорили в этой статье:
Функции Google Maps, о которых вы могли не знать
Google Maps для многих пользователей уже давно является единственным картографическим приложением, которое они активно используют. Но при этом большинство людей пользуются Google Maps лишь как навигатором или, в лучшем случае, поисковиком, который поможет найти нужную вам локацию. Однако у этого сервиса есть масса полезных функций, о существовании которых вы даже не догадывались. Ну что ж, давайте устранять пробелы в знаниях.
Google Maps имеет очень много скрытых функций
Узнайте обо всех опасностях на маршруте следования
Google Maps имеет несколько функций, которые помогут вам избежать штрафов за превышение скорости. Находясь в режиме навигации, в некоторых населенных пунктах Google Maps может предупреждать вас о наличии камер на дорогах. Функция работает как в режиме навигации, обозначая потенциально опасные участки, так и в кооперации с голосовым ассистентом, который расскажет вам о приближении к препятствию или камере.
Планируйте поездки на общественном транспорте и запоминайте места
Вы можете использовать Google Maps и для того, чтобы узнать маршруты передвижения общественного транспорта. При этом сервис укажет вам номера автобусов и даже нужные ветки метро. Вы можете запланировать маршрут и нажать на кнопку в виде автобуса. Тогда Google Maps проложит вам оптимальный маршрут со всеми пересадками. Более того, вы можете установить требуемое вам время прибытия в определенное место и сервис подскажет вам, во сколько нужно выйти из дома.
Помимо этого вы можете также отмечать на карте понравившиеся вам места, достопримечательности и заведения. И при этом у вас есть возможность, скажем, устроить тур по барам в определенном районе. Google Maps самостоятельно построит вам оптимальный маршрут.
Скачивайте карты для работы в режим офлайн
Google Maps позволяет вам скачивать карты и пользоваться ими в тот момент, когда у вас нет интернета. Это довольно полезная функция и мы даже посвящали ей отдельную статью. Так что рекомендуем ознакомиться с материалом, доступном по этой ссылке.
Отправляйте маршруты на смартфон
Если вы пользуетесь Google Maps на персональном компьютере для того, чтобы найти какое-то место, а потом ищите то же самое на смартфоне, то вы просто тратите время зря. Если вы войдете в одну и ту же учетную запись Google на вашем компьютере и на смартфоне, вы сможете просто выбрать маршрут и отправить его на свой телефон прямо в интерфейсе Google Maps.
Посмотрите историю перемещений
Хотите немного заглянуть в прошлое? Откройте меню настроек (выполненное в виде трех точек, расположенных друг над другом) и выберете пункт «Хронология». Здесь вы можете перейти в любой день и увидеть, где именно вы были. При этом вы всегда можете удалить историю ваших перемещений, если нужно.
Увеличить масштаб карты гораздо проще, чем кажется
В следующий раз, когда вы хотите увеличить масштаб, просто быстро дважды коснитесь экрана. Удерживайте палец на экране после второго нажатия, а затем переместите его вниз, чтобы уменьшить масштаб. Для увеличения переместите палец вверх. Это действительно очень удобно и позволяет пользоваться картами буквально одним касанием. Кстати, если вы знаете какие-то лайфхаки, упрощающие использование Google Maps, обязательно напишите об этом в нашем чате в Телеграм.
Управляйте музыкой, не выходя из Google Maps
Google Maps позволяет вам получить доступ к вашей музыке прямо внутри картографического приложения. Поддерживаются популярные сервисы Apple Music, Google Play Music и Spotify. Чтобы включить эту функцию, перейдите в раздел «Настройки» — «Настройки навигации» и включите пункт «Управление воспроизведением мультимедиа». Теперь на активном экране навигации у вас будет значок музыки, который позволит переключать треки или ставить их на паузу.
Сохраняйте парковки
На сегодняшний день очень трудно найти парковочное место. Особенно в крупном городе. Однако если вы часто используете автомобиль, Google Maps позволяет вам запоминать расположение парковочных мест и наносить их на карту. В последствии вы можете просто выбрать нужное место из списка и направиться к нему. Для включения этой функции перейдите в «Настройки» — «Навигация», промотайте страницу в самый низ и там вы обнаружете пункт «Парковки». Включите опцию «Сохранять парковки».
История одного репорта в Google или как манипулировать данными в Google Maps
Предисловие
Как часто вы пользуетесь Карты Google? Верите ли вы в то, что мега корпорации делают все, чтобы делать отличные, безопасные продукты для своих пользователей? Думали ли вы, что они могут просто не замечать критики от простых людей, которые пользуются их продуктами? Так получается, что я замечаю то, что иногда не видят другие или не придают этому значения. В общем этот рассказ о том, как мне слишком много пришлось пользоваться Картами Google и о беспечности корпорации, я бы даже сказал об отношении этих корпораций к своим продуктам и отзыву потребителей.
Опустим, пожалуй, подробное начало этой истории т. к. не обо всех аспектах я могу говорить в связи с моей работой, но это и не важно. Перейдем к сути этой истории…
Начала
Думаю, многие из вас пользуются Картами Google т. к. они установлены по умолчанию во многих устройствах и многие доверяют компании Google, что она выдает релевантные ответы на ваши запросы. Но мы с коллегами обнаружили, что в системе на наш взгляд есть логические ошибки, как Карты Google проверяют информацию, которую выдают пользователю. Мы предположили интересный вектор, а что, если информация, которую выдает Карты Google не проверяется (на первый взгляд это уже смешно звучит!).
Я начал ковырять Карты Google, стал пользовать карты пару дней. И то, что я нашел меня озадачило. Я смог вносить изменения в информацию, которую выдает Google карты. Объясню, человек, который допустим пользуется Google картами вводит поисковый запрос, ну к примеру ему нужно найти компанию «Ростелеком-Солар» (коллегам привет!).
В теории
Человек, который ввел запрос надеется, что вся информация, которая выдается ему должна быть проверена и соответствовать действительности ( Google врать не будет ) и по идее он может спокойно доверяться всей предоставленной информации и пользоваться ей.
Реальность
Но увы (я должен вас расстроить компания Google позволяет манипулировать данными, которые выдает сама же.
Далее будет описан метод, который позволил манипулировать данными любой организации, которую выдает Карты Google. Но перед всем этим, так же хотелось бы отметить.
Все действия, которые описаны ниже были сделаны ради эксперимента, чтобы понять как работает выдача Карт Google и не имели мошеннических целей или целей как то навредить компаниям (так же все изменения были поправлены на оригинальную информацию).
В путь
Открываем Google Chrome посмотрим версию (на всякий случай)
Далее вбиваем нужный нам запрос к примеру «Ростелеком Солар»
На выдаче получаем официальный сайт «Ростелеком-Солар» и замечательную карточку справа (я ее выделил) в которой содержится информация об организации. Это карточка берется из Google карт, и если мы на нее переходим, то проваливаемся в сами Google карты. На этой карточке представлена полезная информация об организации (сайт, адрес и др.).
Если ткнем на кнопку сайт на карточке, то нас по идее должно перенаправить на официальный сайт. https://rt-solar.ru/
Так оно и работает примерно. Далее попробуем найти «Ростелеком-Солар» через Google карты.
Отлично, все работает на первый взгляд как надо. Человек вводит в строке поиска что ему нужно и получает ответ на запрос, вроде все норм. А теперь начнем манипуляцию.
В поисковике, где делали запрос предложим исправления для информации на карточке организации.
Предлагаем исправления, а давайте поменяем официальный сайт организации, чтобы Google карты и не только выдавали другой сайт ( далее мы более подробно обсудим векторы атак и сценарии возможной манипуляции).
Так видим официальный сайт.
Меняем на что ни будь мене прозаичное так сказать )
Жамкаем на отправить.
Обратим внимание, что нам выдала система «Предложенное изменение рассматривается». Ну значит все ок, наш эксперимент по идее должен на этом закончиться неудачей, ведь компания Google ответственная и все тщательно проверяет (подумал я с ухмылкой на своем лице). Ну что же, подождав пару минут я начал проверять результат наших манипуляций и что я обнаружил меня очень сильно порадовало. Буквально через пару минут я увидел, что внесенные нами изменения уже применились и их выдавали Google карты и поисковик в карточке.
Переходим на карточку выдачи Google и жамкаем на кнопку «сайт»:
И тут же нас перенаправило куда?! Да на https://www.vodafone.ua/ru
Я не поверил, что такое возможно и решил оставить пока все так как есть, чтобы посмотреть, что будет с выдачей поисковика и Google картами.
Чтобы убедиться, что это не разовая ошибка решил повторить трюк. На это раз взял другую организацию (сразу отмечу что мой выбор был произвольным и ничем не обусловлен).
«Контур СКБ» https://kontur.ru/ серьезная организация, которая занимается выдачей электронных подписей (кто в курсе тот поймет)
Проверяем, что поиск выдал нам нормальную информацию
Сайт официальный все хорошо. Смотрим карточку, которая справа
Жамкаем на кнопку сайт и действительно перенаправляется на официальный сайт
Проделываем все описанные мною манипуляции для изменения официального сайта. Предлагаем исправления:
Проверяем какой сайт указан в карточке:
Применяем ее, жамкнув кнопку «Отправить» и получаем вывод:
Проверяем карточку, которую выдал нам поисковик:
Ждем пару минут и проверяем еще раз, и переходим по кнопке «Сайт» на карточке:
Жамкаем по кнопке «Сайт» и нас перенаправляет на https://www.cryptopro.ru/
Середина
Что имеем в результате нашего эксперимента: вроде получается, что можем манипулировать данными любой организации, которые выдает карты Google, хоть Google и пишет, что предложенные изменения рассматриваются, но по факту они применяются буквально моментально (проходит 2-3 минуты). В конце статьи будут ссылки на видео, если кто-то скажет, что это все подстроено и Компания Google не могла так делать. Но суть вопроса от этого не поменялась.
И далее наступает самое интересное
Как человек работающий в ИБ я знал, что у Google есть программа bug bounty.
https://www.google.com/about/appsecurity/reward-program/ я в первый день как нашел ошибку, сразу отправил отчет о найденной ошибке и стал ждать. Первые дня 2 я надеялся, что со мной свяжутся и скажут что-то типа «Дружище ты молодец, мы благодарны тебе за то, что ты дал знать об этом». Все то время, что я ждал, тестировал и смотрел как продолжает работать эта дырка, я стал замечать, что предложенный мною вариант перестал работать через день после моего репорта. Я подумал «какие они молодцы закрыли ошибку и теперь нельзя манипулировать данными организаций просто так». Так как со мной не выходили на связь уже 5 день, а я вижу, что мой сценарий не работает, я начал дальше копаться в картах Google, чтобы понять, как теперь применяются изменения и можно ли все это еще раз повторить. Но об этом чуть позже, не будем нарушать последовательность моего рассказа.
Спустя 7 дней от подачи отчета мне на конец то написали.
Вот тока смысл этого письма я так и не понял до сих пор, компания Google признает, что я нашел ошибку и уточняет «Вы обнаружили ошибку. Все изменения, которые вы вносите в панель, на самом деле являются изменениями, которые вносятся в Карты Google, откуда и берутся данные панели.» и объяснения «Это все еще подпадает под область, о которой я упоминал ранее. Возможность предложить редактирование в Картах работает, как и предполагалось. Изменения, внесенные здесь, являются обзором Классификатора машинного обучения в дополнение к команде рецензентов, которые просматривают изменения, которые кажутся подозрительными или вредоносными по своей природе.».
Кто ни будь из вас вообще понял, что они имели в виду?!**
Лично я нет, поэтому ответил им, что мол «дайте знать исправили ли вы все до конца, чтобы я мог дальше ковырять эту проблему и убедиться, что она решена.«
Несмотря на все это, я начал дальше отрабатывать другие возможности манипуляцией информацией в картах Google. Но как я понял, из их ответа что мол у них МЛ который не дает вносить изменения просто так + команда цензоров, которая проверяет изменения.
Я ушел с головой в изучение логики Google карт. Обо всем писать не буду, но могу констатировать печальный факт их МЛ работает плохо и если есть, какие то команды рецензентов, то они явно не готовы предотвращать манипуляции с данными в Google картах.
Кульминация
Я покажу как мне удавалось манипулировать данными после заявления Google о том, что у них все работает корректно.
По первому сценарию внесения изменений у меня ничего не получилось т.к. команда Google явно включила какую-то обработку изменений т. к. теперь выдавалось сообщение, что внесенные мною правки находятся на рассмотрении и они не применялись сразу и даже после долгого ожидания (до 24 часов). Но как говорится, не зря же мы изучали логику работы карт.
Попробуем проверить манипуляцию на Контур СКБ, т.к. у них много представительств в разных регионах.
На этот раз заходим в карты Google и ищем СКБ Контур, так же предлагаем внести изменения.
Напомню, что официальный сайт СКБ контур https://kontur.ru/
Меняем якобы на конкурента, который не аффилирован к СКБ контур:
Далее «Отправить» и ждем. Делаем поиск в поисковике Google Chrome и смотрим карточку:
Ждем пару часов и видим, что уже есть какой те прогресс. Наверное, Google отправила оповещение собственнику сайта или в организацию, подумал я и стал далее изучать. Было принято решение ковырять дальше карты ведь МЛ как-то же обрабатывает изменения.
Через 10-12 часов ковыряний я имел успех в своих манипуляциях (описывать конкретный сценарий здесь из соображений безопасности не буду), но факт на лицо мне удавалось производить манипуляции и далее.
Мне удалось манипулировать данными организации после того, как мне ответили из Google, что все работает нормально и это нормально для карт Google. Но в добавок еще и выдача в поиске выдавала нашу манипуляцию в карточке. И тут надо отметить, что изменения отражаются на Google картах по регионам, в которых можно вносить изменения. Что это значит? На момент моего исследования я находился в Калининградской области соответственно все изменения, которые я вносил, применялись тока на Google картах этого региона и поисковая выдача выдавала карточку организации для этого региона.
По итогу я понял, что компания Google что-то исправила в результате моего первого отчета, но не так хорошо, как это нужно сделать. Я продолжал им писать и говорить: «Ей, парни. Кто ни будь свяжитесь со мной, у вас не работает это должным образом, а до сих пор могу манипулировать данными в Google картах!». Последнее что я получил от них это
Меня это очень обидело, скажем честно. Столько времени потрачено на описание ошибки для отчета, на эту переписку с поддержкой.
И всем тем кто в будущем захочет подавать отчеты об ошибках в программе Google делайте это лучше с почты, которая привязана к структуре Google, иначе вас ждет одно разочарование (по итогу очень долго отвечают на письма не с их адресацией + вам не дадут доступ к панели отслеживания https://issuetracker.google.com/ там идет привязка к почте с которой вы отправляете отчет.
Вектор атаки
После того как я описал саму проблему было бы не плохо поговорить об опасности, которую представляет эта проблема. В своем отчете в Google я указал разные вектора атак и использование этой ошибки. Рассмотрим здесь только пару вариантов в подтверждение того, что это действительно может быть важной ошибкой.
Делаем клон сайта для сбора данных которые возможны и потом (после заполнения всех форм) перенаправляем всех на официальны сайт.
Я не буду описывать все возможные сценарии, могу только сказать, что пару таких вариантов мы проверили и они работают. А самая прелесть в том, что это можно делать на определенный период времени и таргетированно на определенные регионы (куда мы вносим изменения), чтобы официально ничего не заметили. То есть мы можем поменять электронный адрес и официальный сайт на то, что, хотим на определенный промежуток времени и в определенном регионе, а потом все вернуть как было, чтобы владельцы организации не заметили эту подмену на выдаче карт Google. Так же хочется отметить, что все приложения которые берут данные из Google карт или используют их в своей выдаче берут и все манипуляции, которые проходят на Google картах (отдельный привет Booking.com, TripAdvisor и др.).
Вывод
Что по итогу, что я хотел здесь сказать. Это, наверное, больше крик души, потому что жаль видеть, как относятся корпорации к твоим отчетам об ошибках. По итогу на сегодня описанная мною ошибка позволяла манипулировать данными на Google картах. Из программы Google bug bounty. https://www.google.com/about/appsecurity/reward-program/ ответ «this report is not in scope for our VRP». То есть ни спасибо, ни чего, и нет упоминания, что они что-либо правили, тока что все работает как надо! Я не являюсь профессиональным «Багбаунтером», но занимаюсь время от времени этим ради фана, может я и не прав и Google карты действительно работают как надо. Но написав эту статью я хочу, чтобы эта информация стала публична (организации задумались о таком векторе атаки) и Google все-таки поправила эту ошибку до конца (ограничили действия об изменении данных организации без ее ведома). И да я бы не отказался, если все-таки компания Google хоть как-то сказала: «Спасибо» за мой отчет и потраченное время, но кто я такой в конце концов.
P.S.