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:
- Minta token untuk origin Anda.
- 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
- Dalam HTML Anda:
Untuk masukan atau saran terkait fitur ini, ajukan masalah di repositori GitHub.