ข้อมูลเบื้องต้น
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 ชื่อมีความยาวสูงสุดได้ 248 หน่วยโค้ด UTF-8
สาธิต
คุณสามารถดูเดโมได้ที่ 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