ที่มา
Chrome 94 เปิดตัวการบล็อกการเข้าถึงเครือข่ายส่วนตัวจากเว็บไซต์สาธารณะที่ไม่ปลอดภัย การทดลองใช้การเลิกใช้งานการเข้าถึงเครือข่ายส่วนตัวจากบริบทที่ไม่ปลอดภัยอย่างต่อเนื่องเผยให้เห็นถึงความท้าทายในการย้ายข้อมูลเว็บไซต์ที่ได้รับผลกระทบไปยัง HTTPS ข้อกังวลที่พบบ่อยคือความยุ่งยากในการย้ายข้อมูลอุปกรณ์ส่วนตัวไปยัง HTTPS ซึ่งนำไปสู่การละเมิดการตรวจสอบเนื้อหาผสม
เพื่อรับมือกับความท้าทายที่กล่าวไว้ก่อนหน้านี้ คุณสามารถใช้ข้อความแจ้งสิทธิ์ใหม่ภายใต้ช่วงทดลองใช้จากต้นทางจาก Chrome 120
ข้อความแจ้งสิทธิ์เป็นตัวเลือกใหม่
การเพิ่มแอตทริบิวต์ targetAddressSpace
ใหม่เป็นตัวเลือกการดึงข้อมูลจะทำให้คำขอข้ามการตรวจสอบเนื้อหาผสมได้
ตัวอย่าง
fetch("http://router.local/ping", {
targetAddressSpace: "private",
});
เพื่อให้เป็นไปตามการเข้าถึงเครือข่ายส่วนตัว: การแนะนำการตรวจสอบล่วงหน้า คำขอเครือข่ายส่วนตัวจะดำเนินการด้วยคำขอการตรวจสอบล่วงหน้า คำขอการตรวจสอบล่วงหน้านี้จะมีส่วนหัวใหม่ Access-Control-Request-Private-Network: true
และการตอบกลับที่เกี่ยวข้องต้องมีส่วนหัว Access-Control-Allow-Private-Network: true
เพื่อให้สอดคล้องกับข้อความแจ้งสิทธิ์ใหม่ เราจำเป็นต้องให้อุปกรณ์รวมส่วนหัวการตอบกลับใหม่ 2 รายการ ได้แก่ Private-Network-Access-Name
และ Private-Network-Access-ID
Private-Network-Access-Name: <some human-readable device name>
Private-Network-Access-ID: <the MAC address of the device>
ตัวอย่าง
Private-Network-Access-Name: "My Smart Toothbrush"
Private-Network-Access-ID: "01:23:45:67:89:0A"
Private-Network-Access-ID
: ค่า 48 บิตที่แสดงเป็นไบต์ฐานสิบหก 6 ไบต์ที่คั่นด้วยโคลอน
Private-Network-Access-Name
: ชื่อที่ถูกต้องเป็นสตริงที่ตรงกับนิพจน์ทั่วไป /^[a-z0-9_-.]+$/
ของ ECMAScript ความยาวสูงสุดของชื่อคือหน่วยโค้ด UTF-8 248
ข้อมูลประชากร
ดูเดโมได้ที่ https://private-network-access-permission-test.glitch.me/
ลงทะเบียนช่วงทดลองใช้จากต้นทาง
เพื่อให้แน่ใจว่าข้อความแจ้งเกี่ยวกับสิทธิ์การเข้าถึงเครือข่ายส่วนตัวช่วยนักพัฒนาซอฟต์แวร์นำการจำกัดบริบทที่ปลอดภัยสำหรับการเข้าถึงเครือข่ายส่วนตัวมาใช้ เราจึงให้ฟีเจอร์นี้พร้อมใช้งานใน Chrome ตั้งแต่เวอร์ชัน 120 ถึง 122 เป็นช่วงทดลองใช้จากต้นทาง
ลงทะเบียนช่วงทดลองใช้จากต้นทางเพื่อให้เว็บไซต์ใช้ข้อความแจ้งสิทธิ์
- ขอโทเค็นสำหรับต้นทาง
- ใช้โทเค็นด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- ใน HTML ให้ทำดังนี้
html <meta http-equiv="Origin-Trial" content="TOKEN_GOES_HERE">
- ใน JavaScript ให้ทำดังนี้
js const meta = document.createElement('meta'); meta.httpEquiv = 'Origin-Trial'; meta.content = 'TOKEN_GOES_HERE'; document.head.append(meta);
- ในส่วนหัว HTTP ให้ทำดังนี้
text Origin-Trial: TOKEN_GOES_HERE
- ใน HTML ให้ทำดังนี้
หากมีความคิดเห็นหรือคำแนะนำเกี่ยวกับฟีเจอร์นี้ โปรดแจ้งปัญหาในที่เก็บของ GitHub