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

แพลตฟอร์มอื่นๆ อีกมากมาย เช่น 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
Loopback คือปลายทางที่แก้ไขเป็นพื้นที่ "loopback" (127.0.0.0/8
) ที่ระบุไว้ในส่วนที่ 3.2.1.3 ของ RFC1122 ของ IPv4, พื้นที่ "link-local" (169.254.0.0/16
) ที่ระบุไว้ใน RFC3927 ของ IPv4, คำนำหน้า "Unique Local Address" (fcc00::/7
) ที่ระบุไว้ในส่วนที่ 3 ของ RFC4193 ของ IPv6 หรือคำนำหน้า "link-local" (fe80::/10
) ที่ระบุไว้ในส่วนที่ 2.5.6 ของ RFC4291 ของ IPv6
เครือข่ายสาธารณะคือปลายทางอื่นๆ
เนื่องจากสิทธิ์เข้าถึงเครือข่าย LAN ถูกจํากัดไว้สําหรับบริบทที่ปลอดภัย และอาจย้ายข้อมูลอุปกรณ์เครือข่าย LAN ไปยัง HTTPS ได้ยาก ระบบจึงยกเว้นคําขอเครือข่าย LAN ที่มีการกำหนดสิทธิ์ไม่ให้ได้รับการตรวจสอบเนื้อหาแบบผสมหาก Chrome ทราบว่าคําขอดังกล่าวจะไปที่เครือข่าย LAN ก่อนแก้ไขปลายทาง 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
เป็น "เปิดใช้ (การบล็อก)" ซึ่งรองรับการเรียกใช้ข้อความแจ้งสิทธิ์การเข้าถึงเครือข่ายภายในสำหรับคำขอที่เริ่มต้นโดยใช้ JavaScript fetch()
API, การโหลดทรัพยากรย่อย และการไปยังส่วนย่อยของเฟรม
เว็บไซต์เดโมมีอยู่ที่ https://local-network-access-testing.glitch.me/ สำหรับการเรียกใช้คำขอเครือข่ายภายในรูปแบบต่างๆ
ปัญหาและข้อจำกัดที่ทราบ
- ขณะนี้ข้อความแจ้งสิทธิ์แบบใหม่มีให้บริการใน Chrome บนเดสก์ท็อปเท่านั้น เรากำลังดำเนินการพอร์ตแอปไปยัง Chrome ใน Android อย่างเต็มกำลัง (ติดตามใน crbug.com/400455013)
- การเชื่อมต่อ WebSockets (crbug.com/421156866), WebTransport (crbug.com/421216834) และ WebRTC (crbug.com/421223919) กับเครือข่ายภายในยังไม่ได้รับการจำกัดสิทธิ์ LNA
- ปัจจุบันคําขอเครือข่ายภายในจาก Service Worker กำหนดให้ต้นทางของ Service Worker ได้รับสิทธิ์เข้าถึงเครือข่ายภายในแล้วก่อนหน้านี้
- หากแอปพลิเคชันของคุณส่งคำขอเครือข่ายภายในจาก Service Worker ในปัจจุบันคุณจะต้องเรียกใช้คำขอเครือข่ายภายในแยกต่างหากจากแอปพลิเคชันเพื่อเรียกให้แสดงข้อความแจ้งสิทธิ์ (เรากําลังหาวิธีให้ผู้ปฏิบัติงานเรียกให้แสดงข้อความแจ้งสิทธิ์หากมีเอกสารที่ใช้งานอยู่ ดูข้อมูลเพิ่มเติมได้ที่ crbug.com/404887282)
Chrome 139 ขึ้นไป
เราตั้งใจที่จะจัดส่งการเข้าถึงเครือข่าย LAN โดยเร็วที่สุด เราตระหนักดีว่าเว็บไซต์บางแห่งอาจต้องใช้เวลาเพิ่มเติมในการอัปเดตคำอธิบายประกอบการเข้าถึงเครือข่าย LAN ดังนั้นเราจะเพิ่มช่วงทดลองใช้สำหรับต้นทางเพื่อให้เว็บไซต์เลือกไม่ใช้ข้อกำหนดด้านบริบทที่ปลอดภัยได้ชั่วคราวก่อนที่เราจะเปิดตัวการเข้าถึงเครือข่าย LAN โดยค่าเริ่มต้น ซึ่งควรเป็นเส้นทางการย้ายข้อมูลที่ชัดเจนขึ้นสำหรับนักพัฒนาซอฟต์แวร์ โดยเฉพาะอย่างยิ่งหากคุณอาศัยการเข้าถึงทรัพยากรเครือข่ายภายในผ่าน HTTP (เนื่องจากคำขอเหล่านี้จะถูกบล็อกเนื่องจากเป็นเนื้อหาผสมหากมีการขอจากหน้า HTTPS ในเบราว์เซอร์ที่ยังไม่รองรับการยกเว้นเนื้อหาผสมในการเข้าถึงเครือข่ายภายใน)
นอกจากนี้ เราจะเพิ่มนโยบาย Chrome สำหรับองค์กรเพื่อควบคุมว่าเว็บไซต์ใดสามารถและไม่สามารถส่งคำขอเครือข่ายภายในได้ (การให้สิทธิ์หรือปฏิเสธสิทธิ์แก่เว็บไซต์เหล่านั้นล่วงหน้า) ซึ่งจะช่วยให้การติดตั้ง Chrome ที่มีการจัดการ เช่น การติดตั้งในองค์กร หลีกเลี่ยงการแสดงคำเตือนสำหรับกรณีการใช้งานที่รู้จักหรือต้องการ หรือเพื่อล็อกดาวน์เพิ่มเติมและป้องกันไม่ให้เว็บไซต์ขอสิทธิ์ดังกล่าวได้
เราวางแผนที่จะผสานรวมสิทธิ์การเข้าถึงเครือข่าย LAN กับฟีเจอร์ต่างๆ ที่ส่งคำขอไปยังเครือข่าย LAN ได้ต่อไป ตัวอย่างเช่น เราวางแผนที่จะเปิดตัวการเข้าถึงเครือข่าย LAN สำหรับการเชื่อมต่อ WebSocket, WebTransport และ WebRTC ในเร็วๆ นี้
เราจะแชร์ข้อมูลเพิ่มเติมเมื่อใกล้ถึงเวลาที่เราจะเปิดตัวการเข้าถึงเครือข่ายภายในใน Chrome อย่างเต็มรูปแบบ
ต้องการความคิดเห็น
ความคิดเห็นก่อนหน้านี้เกี่ยวกับการพัฒนาการเข้าถึงเครือข่ายส่วนตัวมีประโยชน์อย่างยิ่งในการชี้แนะแนวทางใหม่สำหรับสิทธิ์การเข้าถึงเครือข่ายภายใน เราขอขอบคุณอีกครั้งสำหรับทุกคนที่มีส่วนร่วมตลอดหลายปีที่ผ่านมา
หากคุณพัฒนาหรือเป็นผู้ใช้เว็บไซต์ที่อาศัยการเชื่อมต่อกับเครือข่ายภายในหรือซอฟต์แวร์ที่ทำงานในเครื่องของผู้ใช้ ทีม Chrome ยินดีรับฟังความคิดเห็นและกรณีการใช้งานของคุณ คุณช่วยได้ 2 วิธีดังนี้
- ไปที่
chrome://flags#local-network-access-check
แล้วตั้งค่า Flag เป็น "เปิดใช้ (การบล็อก)" และดูว่าเว็บไซต์เรียกใช้ข้อความแจ้งสิทธิ์ใหม่อย่างถูกต้องหรือไม่ (และทำงานตามที่คาดไว้หลังจากคุณให้สิทธิ์) - หากพบปัญหาหรือมีความคิดเห็น โปรดรายงานปัญหาในเครื่องมือติดตามปัญหาของ Chromium หรือในที่เก็บ GitHub ของคำอธิบาย LNA Chrome ยินดีรับฟังความคิดเห็นจากคุณ