Uji coba origin permintaan Izin Akses Jaringan Pribadi: Jalur untuk memigrasikan situs dengan HTTPS

Yifan Luo
Yifan Luo

Latar belakang

Chrome 94 memperkenalkan pemblokiran akses jaringan pribadi dari situs publik yang tidak aman. Uji coba penghentian penggunaan Akses Jaringan Pribadi dari konteks yang tidak aman yang sedang berlangsung telah mengungkapkan tantangan dalam memigrasikan situs yang terpengaruh ke HTTPS. Permasalahan umumnya adalah kesulitan memigrasikan perangkat pribadi ke HTTPS, yang menyebabkan pelanggaran pemeriksaan konten campuran.

Untuk mengatasi tantangan yang disebutkan sebelumnya, permintaan izin baru tersedia di bagian uji coba origin dari Chrome 120

Permintaan izin sebagai opsi baru

Dengan menambahkan atribut targetAddressSpace baru sebagai opsi pengambilan, permintaan akan dapat melewati pemeriksaan konten campuran.

Contoh:

fetch("http://router.local/ping", {
  targetAddressSpace: "private",
});

Sesuai dengan Akses Jaringan Pribadi: memperkenalkan preflight, setiap permintaan jaringan pribadi akan didahului dengan permintaan preflight. Permintaan preflight ini akan menyertakan header baru, Access-Control-Request-Private-Network: true, dan respons yang sesuai harus menyertakan header Access-Control-Allow-Private-Network: true.

Untuk mengakomodasi permintaan izin baru, kami mewajibkan perangkat menyertakan dua header respons baru: Private-Network-Access-Name dan Private-Network-Access-ID.

Private-Network-Access-Name: <some human-readable device name>
Private-Network-Access-ID: <the MAC address of the device>

Contoh:

Private-Network-Access-Name: "My Smart Toothbrush"
Private-Network-Access-ID: "01:23:45:67:89:0A"

Private-Network-Access-ID: Nilai 48-bit ditampilkan sebagai 6 byte heksadesimal yang dipisahkan oleh titik dua. Private-Network-Access-Name: Nama yang valid sebagai string yang cocok dengan ekspresi reguler ECMAScript /^[a-z0-9_-.]+$/. Panjang maksimum nama adalah 248 unit kode UTF-8.

Demo

Anda dapat melihat demonya di: https://private-network-access-permission-test.glitch.me/.

Mendaftar ke uji coba origin

Untuk memastikan bahwa Dialog Izin Akses Jaringan Pribadi membantu developer menerapkan batasan konteks yang aman untuk akses jaringan pribadi, kami menyediakannya di Chrome dari versi 120 hingga 122 sebagai uji coba origin.

Daftar ke uji coba origin agar situs Anda dapat menggunakan dialog izin:

  1. Minta token untuk origin Anda.
  2. Gunakan token dengan salah satu cara berikut:
    • Di HTML Anda: html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
    • Di JavaScript Anda: js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
    • Di header HTTP: text Origin-Trial: TOKEN_GOES_HERE

Untuk masukan atau saran terkait fitur ini, ajukan masalah di repositori GitHub.

Referensi