ทำให้ `:visited` มีความเป็นส่วนตัวมากขึ้น - เสริมความเป็นส่วนตัวของลิงก์ที่เคยเยี่ยมชมแล้ว
(developer.chrome.com)- มีการเพิ่มฟีเจอร์ใหม่เพื่อแก้ปัญหาความปลอดภัยบนเว็บที่มีมานานเรื่องการ "เปิดเผยประวัติการเข้าชมของผู้ใช้" ผ่านการตกแต่งสไตล์ลิงก์
:visited - ตั้งแต่ Chrome 136 เป็นต้นไป ได้ปรับโครงสร้างเพื่อบล็อกการโจมตีลักษณะนี้ตั้งแต่ต้นทาง โดยใช้การ "แบ่งส่วนการจัดเก็บ (partitioning)" ของประวัติ
:visited - ยังคงรักษาฟังก์ชันการแยกแยะลิงก์ที่เคยเข้าชมด้วยสายตาไว้ พร้อมออกแบบไม่ให้เว็บไซต์อื่นนำไปใช้ในทางที่ผิดได้
คำอธิบายวิธีการแบ่งส่วนการจัดเก็บลิงก์ :visited
- ในวิธีเดิม เมื่อคลิกลิงก์แล้ว ลิงก์นั้นจะแสดงสถานะ
:visitedได้จากทุกเว็บไซต์ - นี่เป็นข้อบกพร่องด้านความปลอดภัยเชิงการออกแบบที่ทำให้เว็บไซต์อันตรายติดตามประวัติการเข้าชมของผู้ใช้ได้
- ตัวอย่าง: หลังจากคลิกลิงก์ไปยัง Site-B จาก Site-A แล้ว หาก Site-Evil มีลิงก์เดียวกัน Site-Evil ก็จะเห็นว่า Site-B แสดงเป็น
:visitedและรู้ได้ว่าผู้ใช้เคยเข้าชมหรือไม่ - ในโครงสร้างใหม่ จะบันทึกประวัติการเข้าชมเฉพาะในรูปแบบคู่ผสม "ไซต์ A + ปลายทางลิงก์ B" เท่านั้น
- กล่าวคือ บน Site-Evil จะไม่แสดงเป็น
:visitedเพราะผู้ใช้ไม่ได้คลิกลิงก์นั้นจากบริบทดังกล่าว - ผลลัพธ์คือ ประวัติการเข้าชมจะไม่ถูกเก็บแบบโกลบอล (global) อีกต่อไป แต่จะแยกเก็บตาม "URL ของลิงก์ + ไซต์ระดับบนสุด + ต้นทางของเฟรม"
วิธีจัดการลิงก์ภายในเว็บไซต์เดียวกัน
- สมมติว่าผู้ใช้กำลังค้นคว้าเรื่องชนิดของโลหะ และคลิกหน้า chrome กับ brass ของ
site.wikiจากmetals.com - หลังจากนั้น เมื่อเข้าไปยังหน้า gold ของ
site.wikiลิงก์ chrome และ brass จะไม่แสดงเป็น:visited(เพราะบริบทที่คลิกต่างกัน) - เพื่อแก้เรื่องนี้ จึงมีการเพิ่มข้อยกเว้น
self-links - ลิงก์ไปยังหน้าภายในเว็บไซต์เดียวกันจะแสดงเป็น
:visitedแม้ไม่ได้ถูกคลิกในบริบทเดียวกัน - อนุญาตเช่นนี้ได้เพราะเว็บไซต์สามารถติดตามประวัติการเข้าชมของผู้ใช้ภายในเว็บไซต์ของตนเองได้อยู่แล้ว จึงถือว่าไม่ได้เปิดเผยข้อมูลเพิ่ม
- อย่างไรก็ตาม ข้อยกเว้นนี้จะไม่ถูกใช้กับเว็บไซต์บุคคลที่สาม หรือลิงก์ของบุคคลที่สามภายใน iframe
สถานะการเปิดใช้งานฟีเจอร์
- ฟีเจอร์นี้เปิดใช้งานอย่างเป็นทางการตั้งแต่ Chrome 136
- Chrome เป็นเบราว์เซอร์รายใหญ่ตัวแรกที่นำฟีเจอร์นี้มาใช้
- นักพัฒนาและนักวิจัยด้านความปลอดภัยสามารถดูข้อเสนอ แสดงความเห็น และรายงานบั๊กได้ผ่านหน้า GitHub
- ข้อเสนอฟีเจอร์บน GitHub
- เสนอประเด็นและเข้าร่วมการอภิปราย
- ตัวติดตามบั๊กของ Chromium
1 ความคิดเห็น
ที่ GeekNews เองก็เคยคิดจะลองใช้
:visitedเหมือนกัน แต่เพราะเรื่องความปลอดภัยเลยแทบทำอะไรไม่ได้ สุดท้ายก็เลยล้มเลิกไปถ้าสิ่งนี้ถูกนำมาใช้ครบทั้งหมด ก็อาจจะทำให้การสไตลิงที่หลากหลายเป็นไปได้มากขึ้นก็ได้ครับ