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 Akses Jaringan Pribadi dari konteks yang tidak aman yang sedang berlangsung telah mengungkapkan tantangan dalam memigrasikan situs yang terpengaruh ke HTTPS. Masalah umum adalah kesulitan memigrasikan perangkat pribadi ke HTTPS, yang menyebabkan pelanggaran pemeriksaan konten campuran.

Untuk mengatasi tantangan yang disebutkan sebelumnya, permintaan izin baru tersedia dalam 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: yang memperkenalkan preflight, permintaan jaringan pribadi apa pun 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 untuk 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 yang ditampilkan sebagai 6 byte heksadesimal yang dipisahkan dengan 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 untuk uji coba origin

Untuk memastikan bahwa Permintaan Izin Akses Jaringan Pribadi membantu developer menerapkan batasan konteks 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 permintaan izin:

  1. Minta token untuk origin Anda.
  2. Gunakan token dengan salah satu cara berikut:
    • Dalam 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.

Resource