4 คะแนน โดย xguru 2025-04-11 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • มีการเพิ่มฟีเจอร์ใหม่เพื่อแก้ปัญหาความปลอดภัยบนเว็บที่มีมานานเรื่องการ "เปิดเผยประวัติการเข้าชมของผู้ใช้" ผ่านการตกแต่งสไตล์ลิงก์ :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

สถานะการเปิดใช้งานฟีเจอร์

1 ความคิดเห็น

 
xguru 2025-04-11

ที่ GeekNews เองก็เคยคิดจะลองใช้ :visited เหมือนกัน แต่เพราะเรื่องความปลอดภัยเลยแทบทำอะไรไม่ได้ สุดท้ายก็เลยล้มเลิกไป
ถ้าสิ่งนี้ถูกนำมาใช้ครบทั้งหมด ก็อาจจะทำให้การสไตลิงที่หลากหลายเป็นไปได้มากขึ้นก็ได้ครับ