<p>gluon-status-page-api : améliorer la politique d'origine croisée</p>

Créé le 20 juil. 2017  ·  3Commentaires  ·  Source: freifunk-gluon/gluon

Access-Control-Allow-Origin: * est peut-être une mauvaise idée pour la page d'état-api, car d'autres sites Web pourraient dériver la géolocalisation du client wifi de la page d'état en accédant à l'api via ajax.

Pour référence: problème similaire dans le wifi de DB

bug feature-accepted

Commentaire le plus utile

Bien que cela nécessitera un certain temps de transition, nous devrions simplement modifier la page d'état pour qu'elle renvoie réellement aux pages d'état d'autres nœuds au lieu de modifier uniquement l'URL du backend lorsqu'un autre nœud est sélectionné, évitant ainsi tout le problème.

Nous pourrions toujours fournir un seul point Access-Control-Allow-Origin: * terminaison

Tous les 3 commentaires

Très vrai. Je vois deux solutions possibles sans casser totalement la page d'état :

  1. Nous n'envoyons pas du tout l'en-tête lorsque l'API est appelée via une adresse "générique" (next_node). Cela rend impossible la collecte d'informations sans connaître à l'avance l'adresse du nœud auquel un utilisateur est connecté. Cependant, beaucoup plus de logique doit être implémentée côté serveur (nous ignorons actuellement simplement l'en-tête Host AFAIK).
  2. Nous n'envoyons que Access-Control-Allow-Origin: $site.next_node.name$ . Cela n'affichera les données du voisin que si la page d'état est initialement appelée via l'adresse next_node (même si vous vous éloignez ensuite de votre prochain nœud).

J'aime (2). Cela semble être un petit changement et cela résoudra le problème. <<<- J'ai changé d'avis. J'aime lier encore plus.

Bien que cela nécessitera un certain temps de transition, nous devrions simplement modifier la page d'état pour qu'elle renvoie réellement aux pages d'état d'autres nœuds au lieu de modifier uniquement l'URL du backend lorsqu'un autre nœud est sélectionné, évitant ainsi tout le problème.

Nous pourrions toujours fournir un seul point Access-Control-Allow-Origin: * terminaison

Cette page vous a été utile?
0 / 5 - 0 notes