Ограничение ключа API на основе URL: как работает проверка?

StackOverflow https://stackoverflow.com/questions/1023971

  •  06-07-2019
  •  | 
  •  

Вопрос

Мне интересно узнать, как работает ограничение API-ключей на основе URL-адреса, например, используемое Google для защиты своей службы Google Maps.

Из того, что я понимаю из этой статьи " Ограничение доступа к Ajax Услуги , & Quot; здесь участвуют две части: во-первых, когда служба создает специальный ключ для данного домена с использованием односторонней хэш-функции; и во-вторых, когда служба проверяет ключ на основе заголовка Referer.

Хотя эта статья достаточно пояснительная, у меня все еще есть проблема, пытаясь понять, насколько безопасен метод проверки. Я имею в виду, если ключ проверяется только против реферера, разве это не так легко подделать? Я думаю, что простой "127.0.0.1 www.mydomain.com" в файле hosts будет достаточно, чтобы обмануть валидацию и подумать, что реферером является www.mydomain.com.

Я, возможно, неправильно понял некоторые вещи, и некоторые разъяснения будут оценены.

Это было полезно?

Решение

" Ограничения " В разделе статьи, который вы цитируете, конкретно упоминается возможность подмены реферера.

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

Чтобы опубликовать свое приложение, вам необходимо подделать реферер в всех браузерах, если только вы не используете API из исполняемого файла, запускаемого локально, в этом случае вы, вероятно, находитесь в полный контроль над всеми заголовками.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top