<p>gluon-status-page-api: perbaiki kebijakan lintas asal</p>

Dibuat pada 20 Jul 2017  ·  3Komentar  ·  Sumber: freifunk-gluon/gluon

Access-Control-Allow-Origin: * mungkin merupakan ide yang buruk untuk status-page-api, karena situs web lain dapat memperoleh lokasi geografis klien wifi dari halaman status dengan mengakses api melalui ajax.

Untuk referensi: masalah serupa di wifi DB

bug feature-accepted

Komentar yang paling membantu

Meskipun ini akan membutuhkan waktu transisi, kita cukup mengubah halaman status untuk benar-benar menautkan ke halaman status node lain daripada hanya mengubah URL backend saat node lain dipilih, sehingga menghindari seluruh masalah.

Kami masih dapat menyediakan satu titik akhir Access-Control-Allow-Origin: * hanya mengembalikan halaman kosong yang dapat digunakan untuk memeriksa keterjangkauan (dan memilih alamat node tetangga berdasarkan ini, seperti yang sudah dilakukan untuk URL backend saat ini).

Semua 3 komentar

Sangat benar. Saya melihat dua kemungkinan solusi tanpa benar-benar merusak halaman status:

  1. Kami tidak mengirim header sama sekali saat API dipanggil melalui alamat "generik" (next_node). Hal ini membuat tidak mungkin untuk mengumpulkan informasi tanpa mengetahui alamat node yang terhubung dengan pengguna sebelumnya. Namun, lebih banyak logika yang harus diterapkan di sisi server (saat ini kami mengabaikan header Host AFAIK).
  2. Kami hanya mengirim Access-Control-Allow-Origin: $site.next_node.name$ . Ini hanya akan menampilkan data tetangga jika halaman status awalnya dipanggil melalui alamat next_node (bahkan jika Anda kemudian menavigasi menjauh dari node berikutnya).

saya suka (2). Sepertinya perubahan kecil dan itu akan mengatasi masalah. <<<- Saya berubah pikiran. Saya lebih suka menghubungkan.

Meskipun ini akan membutuhkan waktu transisi, kita cukup mengubah halaman status untuk benar-benar menautkan ke halaman status node lain daripada hanya mengubah URL backend saat node lain dipilih, sehingga menghindari seluruh masalah.

Kami masih dapat menyediakan satu titik akhir Access-Control-Allow-Origin: * hanya mengembalikan halaman kosong yang dapat digunakan untuk memeriksa keterjangkauan (dan memilih alamat node tetangga berdasarkan ini, seperti yang sudah dilakukan untuk URL backend saat ini).

Apakah halaman ini membantu?
0 / 5 - 0 peringkat