<p>gluon-status-page-api:クロスオリジンポリシーを改善する</p>

作成日 2017年07月20日  ·  3コメント  ·  ソース: freifunk-gluon/gluon

Access-Control-Allow-Origin: *は、status-page-apiにとっては悪い考えかもしれません。他のウェブサイトは、ajax経由でapiにアクセスすることで、ステータスページからwifiクライアントの地理的位置を取得できるからです。

参考: DBのwifiで同様の問題

bug feature-accepted

最も参考になるコメント

これにはある程度の移行時間が必要ですが、別のノードが選択されたときにバックエンドURLを変更するだけでなく、他のノードのステータスページに実際にリンクするようにステータスページを変更するだけで、問題全体を回避できます。

到達可能性をチェックするために使用できる空のページを返すだけで、単一のAccess-Control-Allow-Origin: *エンドポイントを提供することもできます(そして、現時点でバックエンドURLに対してすでに行われているように、これに基づいて隣接ノードのアドレスを選択します)。

全てのコメント3件

非常に真実です。 ステータスページを完全に壊すことなく、2つの可能な解決策があります。

  1. APIが「汎用」(next_node)アドレスを介して呼び出された場合、ヘッダーはまったく送信されません。 これにより、ユーザーが接続しているノードのアドレスを事前に知らずに情報を収集することは不可能になります。 ただし、サーバー側でさらに多くのロジックを実装する必要があります(現在、ホストヘッダーAFAIKは無視しています)。
  2. Access-Control-Allow-Origin: $site.next_node.name$のみを送信します。 これは、ステータスページが最初にnext_nodeアドレスを介して呼び出された場合にのみ、ネイバーデータを表示します(その後、次のノードから移動した場合でも)。

私は(2)が好きです。 小さな変更のようで、問題に対処します。 <<<-気が変わった。 私はもっ​​とリンクするのが好きです。

これにはある程度の移行時間が必要ですが、別のノードが選択されたときにバックエンドURLを変更するだけでなく、他のノードのステータスページに実際にリンクするようにステータスページを変更するだけで、問題全体を回避できます。

到達可能性をチェックするために使用できる空のページを返すだけで、単一のAccess-Control-Allow-Origin: *エンドポイントを提供することもできます(そして、現時点でバックエンドURLに対してすでに行われているように、これに基づいて隣接ノードのアドレスを選択します)。

このページは役に立ちましたか?
0 / 5 - 0 評価