<p>gluon-status-page-api: улучшить политику перекрестного происхождения</p>

Созданный на 20 июл. 2017  ·  3Комментарии  ·  Источник: freifunk-gluon/gluon

Access-Control-Allow-Origin: * , возможно, плохая идея для status-page-api, поскольку другие веб-сайты могут получить геолокацию клиента Wi-Fi из страницы состояния, получив доступ к api через ajax.

Для справки: аналогичная проблема в wifi БД

bug feature-accepted

Самый полезный комментарий

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

Мы все еще могли бы предоставить единственную конечную точку Access-Control-Allow-Origin: * просто возвращающую пустую страницу, которую можно использовать для проверки доступности (и на основе этого выбрать адрес соседнего узла, как будто это уже сделано для внутреннего URL-адреса на данный момент).

Все 3 Комментарий

Совершенно верно. Я вижу два возможных решения, не нарушая полностью страницу состояния:

  1. Мы вообще не отправляем заголовок, когда API вызывается через «общий» (next_node) адрес. Это делает невозможным сбор информации, не зная заранее адрес узла, к которому пользователь подключен. Однако гораздо больше логики необходимо реализовать на стороне сервера (в настоящее время мы просто игнорируем заголовок Host AFAIK).
  2. Мы отправляем только Access-Control-Allow-Origin: $site.next_node.name$ . Это будет отображать данные о соседях только в том случае, если страница состояния изначально вызывается через адрес next_node (даже если вы затем перейдете от следующего узла).

Мне нравится (2). Кажется, это небольшое изменение, и оно решит проблему. <<< - Я передумал. Мне еще больше нравятся ссылки.

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

Мы все еще могли бы предоставить единственную конечную точку Access-Control-Allow-Origin: * просто возвращающую пустую страницу, которую можно использовать для проверки доступности (и на основе этого выбрать адрес соседнего узла, как будто это уже сделано для внутреннего URL-адреса на данный момент).

Была ли эта страница полезной?
0 / 5 - 0 рейтинги