ข้อความแจ้งสิทธิ์ใหม่สำหรับการเข้าถึงเครือข่ายภายใน

Chris Thompson
Chris Thompson

เผยแพร่: 9 มิถุนายน 2025

Chrome จะเพิ่มข้อความแจ้งขอสิทธิ์ใหม่สำหรับเว็บไซต์ที่เชื่อมต่อกับเครือข่าย LAN ของผู้ใช้ ซึ่งเป็นส่วนหนึ่งของข้อกำหนดการเข้าถึงเครือข่าย LAN โดยมีเป้าหมายเพื่อปกป้องผู้ใช้จากการโจมตีแบบ Cross-Site Request Forgery (CSRF) ที่กำหนดเป้าหมายไปยังเราเตอร์และอุปกรณ์อื่นๆ ในเครือข่ายส่วนตัว รวมถึงลด ความสามารถของเว็บไซต์ในการใช้คำขอเหล่านี้เพื่อสร้างลายนิ้วมือของเครือข่ายในเครื่องของผู้ใช้

ทีม Chrome กำลังมองหาความคิดเห็นจากนักพัฒนาแอปที่สร้างเว็บแอปพลิเคชันซึ่งต้องอาศัยการเชื่อมต่อกับเครือข่ายภายในของผู้ใช้หรือซอฟต์แวร์ที่ทำงานในเครื่องของผู้ใช้ เพื่อทำความเข้าใจว่าการเปลี่ยนแปลงนี้ส่งผลต่อระบบนิเวศของเว็บอย่างไร ตั้งแต่ Chrome 138 เป็นต้นไป คุณสามารถเลือกใช้ข้อจำกัดใหม่เหล่านี้ได้โดย ไปที่ chrome://flags/#local-network-access-check แล้วตั้งค่า Flag เป็น "เปิดใช้ (บล็อก)"

การเข้าถึงเครือข่าย LAN คืออะไร

การเข้าถึงเครือข่ายภายใน จำกัดความสามารถของเว็บไซต์ในการส่งคำขอไปยังเซิร์ฟเวอร์ในเครือข่ายภายในของผู้ใช้ (รวมถึงเซิร์ฟเวอร์ที่ทำงานในเครื่องของผู้ใช้) โดยกำหนดให้ผู้ใช้ ให้สิทธิ์แก่เว็บไซต์ก่อนจึงจะส่งคำขอดังกล่าวได้ ความสามารถในการ ขอสิทธิ์นี้จะจำกัดไว้เฉพาะบริบทที่ปลอดภัย

ข้อความแจ้งที่มีข้อความว่า "ค้นหาและเชื่อมต่อกับอุปกรณ์ในเครือข่ายภายในของคุณ"
ตัวอย่างข้อความแจ้งสิทธิ์การเข้าถึงเครือข่ายในพื้นที่ของ Chrome

แพลตฟอร์มอื่นๆ อีกมากมาย เช่น Android iOS และ MacOS มีสิทธิ์เข้าถึงเครือข่ายในพื้นที่ เช่น คุณอาจให้สิทธิ์นี้ ในการเข้าถึงเครือข่ายภายในแก่แอป Google Home เมื่อตั้งค่า อุปกรณ์ Google TV และ Chromecast ใหม่

คำขอประเภทใดบ้างที่ได้รับผลกระทบ

สำหรับเป้าหมายแรกของการเข้าถึงเครือข่ายภายใน เราถือว่า "คำขอเครือข่ายภายใน" คือคำขอจากเครือข่ายสาธารณะไปยังเครือข่ายภายในหรือ ปลายทางแบบวนรอบ

เครือข่ายภายในคือปลายทางที่แปลงเป็นพื้นที่ที่อยู่ส่วนตัว ที่กำหนดไว้ในส่วนที่ 3 ของ RFC1918 ใน IPv4 (เช่น 192.168.0.0/16) ที่อยู่ IPv6 ที่แมปกับ IPv4 ซึ่งที่อยู่ IPv4 ที่แมปเป็นแบบส่วนตัว หรือที่อยู่ IPv6 ที่อยู่นอกซับเน็ต ::1/128, 2000::/3 และ ff00::/8

ลูปแบ็กคือปลายทางใดก็ตามที่เปลี่ยนเส้นทางไปยังพื้นที่ "ลูปแบ็ก" (127.0.0.0/8) ที่กำหนดไว้ในส่วน 3.2.1.3 ของ RFC1122 ของ IPv4, พื้นที่ "ลิงก์เฉพาะ" (169.254.0.0/16) ที่กำหนดไว้ใน RFC3927 ของ IPv4, คำนำหน้า "ที่อยู่เฉพาะภายใน" (fcc00::/7) ที่กำหนดไว้ในส่วน 3 ของ RFC4193 ของ IPv6 หรือคำนำหน้า "ลิงก์เฉพาะ" (fe80::/10) ที่กำหนดไว้ในส่วน 2.5.6 ของ RFC4291 ของ IPv6

ดูการแมปที่อยู่ IP กับพื้นที่ที่อยู่ทั้งหมดได้ในตารางในข้อกำหนดการเข้าถึงเครือข่าย LAN

เครือข่ายสาธารณะคือปลายทางอื่นๆ

เนื่องจากสิทธิ์เข้าถึงเครือข่ายภายในจำกัดเฉพาะบริบทที่ปลอดภัย และอาจย้ายข้อมูลอุปกรณ์ในเครือข่ายภายในไปยัง HTTPS ได้ยาก ตอนนี้คำขอเครือข่ายภายในที่ต้องใช้สิทธิ์จึงจะได้รับการยกเว้นจากการตรวจสอบเนื้อหาแบบผสม หาก Chrome ทราบว่าคำขอจะไปยังเครือข่ายภายใน ก่อนที่จะแก้ไขปลายทาง Chrome จะทราบว่าคำขอจะไปยังเครือข่ายภายในในกรณีต่อไปนี้

  • ชื่อโฮสต์ของคำขอเป็น IP ส่วนตัวแบบตรง (เช่น 192.168.0.1)
  • ชื่อโฮสต์ของคำขอคือ.localโดเมน
  • ระบบจะใส่คำอธิบายประกอบการโทร fetch() ด้วยตัวเลือก targetAddressSpace: "local".
// Example 1: Private IP literal is exempt from mixed content.
fetch("http://192.168.0.1/ping");

// Example 2: `.local` domain is exempt from mixed content.
fetch("http://router.local/ping");

// Example 3: Public domain is not exempt from mixed content,
// even if it resolves to a local network address.
fetch("http://example.com/ping");

// Example 4: Adding the `targetAddressSpace` option flags that
// the request will go to the local network, and is thus exempt
// from mixed content.
fetch("http://example.com/ping", {
  targetAddressSpace: "local",
});

การเปลี่ยนแปลงที่จะเกิดขึ้นใน Chrome

Chrome 138

การเข้าถึงเครือข่าย LAN เวอร์ชันแรกของเราพร้อมให้ทดสอบแบบเลือกใช้ใน Chrome 138 แล้ว ผู้ใช้สามารถเปิดใช้ข้อความแจ้งขอสิทธิ์ใหม่ได้โดยตั้งค่า chrome://flags#local-network-access-check เป็น "เปิดใช้ (บล็อก)" ซึ่งรองรับการทริกเกอร์ข้อความแจ้งขอสิทธิ์เข้าถึงเครือข่าย LAN สำหรับคำขอที่เริ่มต้นโดยใช้ JavaScript fetch() API, การโหลดทรัพยากรย่อย และการนำทางของเฟรมย่อย

เว็บไซต์สาธิตพร้อมใช้งานที่ https://lna-testing.notyetsecure.com/ เพื่อทริกเกอร์คำขอเครือข่ายในเครื่องรูปแบบต่างๆ

ปัญหาและข้อจำกัดที่ทราบ

  • การเชื่อมต่อ WebSockets (crbug.com/421156866), WebTransport (crbug.com/421216834) และ WebRTC (crbug.com/421223919) กับ เครือข่ายในพื้นที่ยังไม่ได้รับการควบคุมโดยสิทธิ์ LNA
  • คำขอเครือข่ายภายในจาก Service Worker และ Shared Worker กำหนดให้ต้นทางของ Worker ต้องได้รับสิทธิ์เข้าถึงเครือข่ายภายใน ก่อนหน้านี้
    • หากแอปพลิเคชันส่งคำขอเครือข่าย LAN จาก Service Worker คุณจะต้องทริกเกอร์คำขอเครือข่าย LAN แยกต่างหาก จากแอปพลิเคชันเพื่อทริกเกอร์ข้อความแจ้งขอสิทธิ์ (เรากำลังหาวิธีให้ผู้ปฏิบัติงานทริกเกอร์ข้อความแจ้งขอสิทธิ์หากมีเอกสารที่ใช้งานอยู่ โปรดดู crbug.com/404887282)

Chrome 139 ขึ้นไป

เราตั้งใจที่จะเปิดตัวการเข้าถึงเครือข่าย LAN โดยเร็วที่สุด เราทราบว่าบางเว็บไซต์อาจต้องใช้เวลาเพิ่มเติมในการอัปเดตด้วยคำอธิบายประกอบการเข้าถึงเครือข่ายภายใน จึงจะเพิ่มช่วงทดลองใช้ Origin เพื่อให้เว็บไซต์เลือกไม่ใช้ชั่วคราวได้ ข้อกำหนดของบริบทที่ปลอดภัยก่อนที่เราจะเปิดตัวการเข้าถึงเครือข่ายภายในโดยค่าเริ่มต้น ซึ่งจะช่วยให้เส้นทางการย้ายข้อมูลชัดเจนยิ่งขึ้นสำหรับนักพัฒนาแอป โดยเฉพาะอย่างยิ่งหากคุณต้องอาศัยการเข้าถึงทรัพยากรในเครือข่าย LAN ผ่าน HTTP (เนื่องจากคำขอเหล่านี้จะถูกบล็อกเป็นเนื้อหาผสมหากมีการขอจากหน้า HTTPS ในเบราว์เซอร์ที่ยังไม่รองรับข้อยกเว้นเนื้อหาผสมสำหรับการเข้าถึงเครือข่าย LAN)

นอกจากนี้ เราจะเพิ่มนโยบาย Chrome สำหรับองค์กรเพื่อควบคุมว่าเว็บไซต์ใด ทำคำขอเครือข่ายภายในได้และไม่ได้ (การให้สิทธิ์ล่วงหน้าหรือการปฏิเสธสิทธิ์ล่วงหน้า สำหรับเว็บไซต์เหล่านั้น) ซึ่งจะช่วยให้การติดตั้ง Chrome ที่มีการจัดการ เช่น การติดตั้งในสภาพแวดล้อมขององค์กร ไม่แสดงคำเตือนสำหรับกรณีการใช้งานที่ทราบว่าตั้งใจ หรือเพื่อล็อกดาวน์เพิ่มเติมและป้องกันไม่ให้เว็บไซต์ขอสิทธิ์ได้เลย

เราวางแผนที่จะผสานรวมสิทธิ์เข้าถึงเครือข่าย LAN กับ ฟีเจอร์ต่างๆ ที่สามารถส่งคำขอไปยังเครือข่าย LAN ต่อไป ตัวอย่างเช่น เราวางแผนที่จะเปิดตัวการเข้าถึงเครือข่าย LAN สำหรับการเชื่อมต่อ WebSocket, WebTransport และ WebRTC ในเร็วๆ นี้

เราจะแชร์ข้อมูลเพิ่มเติมเมื่อใกล้ถึงเวลาเปิดตัวการเข้าถึงเครือข่ายภายในใน Chrome อย่างเต็มรูปแบบ

เราต้องการความคิดเห็นจากคุณ

ความคิดเห็นก่อนหน้านี้เกี่ยวกับการพัฒนาการเข้าถึงเครือข่ายส่วนตัวมีคุณค่าอย่างยิ่ง ในการนำทางเราไปสู่แนวทางสิทธิ์การเข้าถึงเครือข่าย LAN ใหม่ เราขอขอบคุณอีกครั้งสำหรับทุกคนที่มีส่วนเกี่ยวข้องในช่วงหลายปีที่ผ่านมา

หากคุณเป็นผู้พัฒนาหรือผู้ใช้เว็บไซต์ที่ต้องเชื่อมต่อกับเครือข่ายภายในของผู้ใช้หรือซอฟต์แวร์ที่ทำงานในเครื่องของผู้ใช้ ทีม Chrome ยินดีรับฟังความคิดเห็นและกรณีการใช้งานของคุณ คุณสามารถทำได้ 2 สิ่งเพื่อช่วยเหลือ ดังนี้