1. Zoom คืออะไรใน Browser Fingerprinting
ระดับ การซูมของเบราว์เซอร์ — มักเข้าถึงได้ผ่าน APIs เช่น window.devicePixelRatio
และขนาดการเรนเดอร์หน้าจอ — สามารถใช้เป็นส่วนประกอบที่ละเอียดอ่อนแต่มีประสิทธิภาพของการระบุตัวตนของเบราว์เซอร์
แม้จะไม่ชัดเจนในทันที แต่สถานะการซูมมีอิทธิพลต่อ:
- ความละเอียดหน้าจอและเลย์เอาต์ที่มีประสิทธิภาพ (ในพิกเซล CSS)
- ขนาดการเรนเดอร์ฟอนต์และพฤติกรรมเลย์เอาต์
- พิกัดเหตุการณ์การโต้ตอบ (คลิก, เลื่อน, ฯลฯ)
- การตัดสินใจเกี่ยวกับการสอบถามสื่อ CSS และการออกแบบที่ตอบสนอง
ระดับการซูมที่สอดคล้องกันช่วยสร้างเซสชันเบราว์เซอร์ที่สมจริง โดยเฉพาะในแพลตฟอร์มการตรวจจับที่ ใช้พฤติกรรมการโต้ตอบของหน้าจอ เพื่ออนุมานการทำงานอัตโนมัติหรือความถูกต้องของเซสชัน
2. แพลตฟอร์มตรวจจับ Zoom Fingerprints อย่างไร
ในขณะที่ผู้จำหน่ายเบราว์เซอร์ไม่ได้เปิดเผยระดับการซูมที่ใช้งานอยู่โดยตรง แพลตฟอร์มสามารถอนุมานได้ผ่านเทคนิคทางอ้อมหลายวิธี:
- การเปรียบเทียบ Device Pixel Ratio (DPR):
window.devicePixelRatio;
เปรียบเทียบอัตราพิกเซลของหน้าจอเพื่อตรวจจับว่ามีการซูมเข้าไปหรือออก (เช่น 1.1, 1.25, 1.5)
- ความไม่ตรงกันระหว่างขนาดหน้าจอและความกว้างภายใน: การซูมสามารถประมาณได้โดยการเปรียบเทียบ:
screen.width
และwindow.innerWidth
screen.height
และwindow.innerHeight
ความผิดปกติในการเรนเดอร์ข้อความหรือเลย์เอาต์: ระดับการซูมสูงอาจกระตุ้นรูปแบบการเรนเดอร์ที่ไม่ตรงกันข้ามหน้า — สิ่งเหล่านี้จะถูกตรวจสอบโดยโมดูลการตรวจจับที่วิเคราะห์การเปลี่ยนแปลงเลย์เอาต์
พิกัดเหตุการณ์ของไคลเอนต์กับพฤติกรรมการเลื่อนหน้า: การซูมเปลี่ยนแปลงวิธีที่
event.clientX
,event.clientY
แปลเป็นพิกัดหน้า ซึ่งสามารถใช้เพื่ออนุมานสถานะการซูมระหว่างการวิเคราะห์ลายนิ้วมือที่ซับซ้อนJavaScript Fingerprints (Zoom Detectors): ไลบรารีบางตัวเช่น
fingerprintjs3
,ClientJS
, และสคริปต์การตรวจจับที่กำหนดเองพยายามสร้างลายเซ็นการซูมตามเวลาการเรนเดอร์และการเข้าถึง DOM
พฤติกรรมการซูมที่ไม่ปกติ — เช่น DPR เศษส่วนที่แม่นยำ (เช่น 1.25
) หรือการรีเซ็ตการซูมที่ไม่คาดคิด — อาจบ่งชี้ถึงการปรับเปลี่ยนเบราว์เซอร์ ซึ่งอาจส่งผลต่อ สภาพแวดล้อมหลายบัญชี หรือ ความถูกต้องของเซสชันบอท
3. FlashID สร้างและจัดการ Zoom Fingerprints อย่างไร
FlashID ให้ผู้ใช้ควบคุมค่าลายนิ้วมือที่เกี่ยวข้องกับการซูมทั้งหมดรวมถึง devicePixelRatio
, ขนาดภายใน และพฤติกรรมการเรนเดอร์ ทำให้สามารถตั้งค่าการซูมที่ สามารถปลอมแปลงและแยกได้ ต่อโปรไฟล์เบราว์เซอร์แต่ละอัน
FlashID ทำให้การปลอมแปลงระดับการซูมที่สมจริงซึ่งสอดคล้องกับ:
- ขนาดหน้าจอ
- ความคาดหวัง DPI (จุดต่ออินช์)
- ระบบการเรนเดอร์เลย์เอาต์
ฟีเจอร์หลักประกอบด้วย:
การปรับแต่ง devicePixelRatio: คุณสามารถเขียนทับ
window.devicePixelRatio
เป็นค่าเลขทศนิยมที่สมจริงใดๆ (เช่น1.0
,1.25
, หรือ1.5
) ต่อโปรไฟล์ความสอดคล้องในการปรับขนาดความละเอียดหน้าจอ: เมื่อคุณเปลี่ยนระดับการซูม FlashID จะปรับขนาด
window.innerWidth
/window.innerHeight
และคุณสมบัติ DOM ที่เกี่ยวข้องในลักษณะที่เลียนแบบวิธีที่เบราว์เซอร์จริงทำในระหว่างการปรับขนาดเลย์เอาต์การแมปอัตราส่วนแบบเรียลไทม์: FlashID ปรับ APIs ที่เกี่ยวข้องกับเลย์เอาต์ — เช่น
matchMedia
,getBoundingClientRect
, และพารามิเตอร์offset
— ตามระดับการซูม เพื่อให้การออกแบบที่ตอบสนองและพฤติกรรมการเลื่อนดูเป็นธรรมชาติการจำลองเหตุการณ์การซูม: การโต้ตอบด้วยล้อเมาส์ การปรับขนาดหน้าจอ หรือระบบการตรวจจับพฤติกรรมการซูมแบบสัมผัสเห็นเหตุการณ์
zoom
เป็นพฤติกรรมของผู้ใช้ — FlashID จะบัฟเฟอร์และปรับเปลี่ยนสิ่งเหล่านี้ในลักษณะที่ควบคุมได้เพื่อให้ดูเป็นธรรมชาติค่าที่ปลอดภัยจากการตรวจจับ: แทนที่จะใช้ค่าที่สุ่มซึ่งดูเหมือนจะไม่เป็นธรรมชาติ FlashID จะใช้ ตัวคูณการซูมที่สมจริงเท่านั้น เช่น
1.0
,1.25
,1.5
, หรือ1.75
เมื่อเหมาะสมการแยกโปรไฟล์-เซสชัน: เซสชันเบราว์เซอร์แต่ละอันของ FlashID จะรักษาการกำหนดค่าการซูมที่แยกจากกัน — ป้องกันการตรวจจับโปรไฟล์ที่สัมพันธ์กันข้ามบัญชีโดยเครื่องมือระบุตัวตน
การแยกลายนิ้วมือการซูมอาจละเอียดอ่อน แต่มีบทบาทสำคัญในการทำให้สภาพแวดล้อมหลายบัญชีไม่สามารถตรวจจับได้ FlashID มอบพลังให้ผู้ใช้ขั้นสูงด้วย สัญญาณการซูมที่สะอาดและสามารถปลอมแปลงได้ พร้อมกับ การสร้างแบบจำลองพฤติกรรม เพื่อเลียนแบบเซสชันการท่องเว็บที่เป็นธรรมชาติอย่างปลอดภัยและหลีกเลี่ยงการเชื่อมโยงบัญชี
คุณอาจชอบ