ข้อมูลเบื้องต้น
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
: ชื่อที่ถูกต้องในรูปแบบสตริงที่ตรงกับนิพจน์ทั่วไป ECMAScript /^[a-z0-9_-.]+$/
ชื่อมีความยาวสูงสุดได้ 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