1. คุณสมบัติ CSS ในการระบุลายนิ้วมือคืออะไร
เบราว์เซอร์มี API และความสามารถที่เกี่ยวข้องกับ CSS จำนวนมากที่สามารถใช้เพื่อระบุหรือสร้างลายนิ้วมือของสภาพแวดล้อมเบราว์เซอร์ได้ ซึ่งรวมถึง:
CSS.supports(property, value)
: ตรวจสอบว่าเบราว์เซอร์รองรับคุณสมบัติหรือค่า CSS เฉพาะหรือไม่document.styleSheets
: แสดงรายการสไตล์ชีตทั้งหมดที่โหลด ซึ่งอาจแสดงส่วนขยายที่ติดตั้งหรือ CSS ที่ปรับแต่งเอง- การสอบถามคุณสมบัติ CSS: แพลตฟอร์มสามารถตรวจจับการรองรับโมดูลเลย์เอาต์สมัยใหม่ เช่น
@supports
, CSS Grid, Flexbox, Houdini APIs และอื่นๆ - คุณสมบัติและค่า CSS แบบกำหนดเอง: สคริปต์บางตัววัดการตอบสนองต่อกฎ
@property
ที่กำหนดไว้ หรือประเมินCSS.registerProperty()
- การวางแนวหน้าจอ, มีเดียควอรี, และ prefers-color-scheme: สิ่งเหล่านี้ล้วนมีอิทธิพลต่อความสามารถของ CSS และมักถูกรวบรวมเพื่อเสริมสร้างข้อมูลลายนิ้วมือ
ทั้งหมดนี้รวมกัน “ลายนิ้วมือคุณสมบัติ CSS” สร้างโปรไฟล์ของประเภทเบราว์เซอร์และอุปกรณ์ที่คุณใช้งานอยู่
2. แพลตฟอร์มตรวจจับลายนิ้วมือที่ใช้ CSS ได้อย่างไร
ลายนิ้วมือ CSS จะถูกรวบรวมอย่างละเอียดระหว่างการเรนเดอร์เว็บไซต์ปกติหรือผ่านการทดสอบด้วยสคริปต์ วิธีการตรวจจับได้แก่:
- การแจกแจงคุณสมบัติที่รองรับ: สคริปต์ตรวจสอบ
CSS.supports()
ในการวนซ้ำ หรือใช้การตรวจสอบแบบแยกวิเคราะห์เพื่อประเมิน Grid, Flexbox, backdrop-filter หรือพฤติกรรมการจัดวางองค์ประกอบแบบกำหนดเอง - การตรวจสอบ StyleSheets: โดยการสแกนสไตล์ชีตทั้งหมดที่โหลด นักระบุลายนิ้วมือสามารถตรวจจับ CSS ที่ถูกแทรกหรือแก้ไข ซึ่งบางครั้งเชื่อมโยงกับเครื่องมืออัตโนมัติหรือการเลี่ยง CSP
- การเปลี่ยนแปลงเค้าโครงตามแบบอักษร: แพลตฟอร์มอาจสังเกตว่าแบบอักษรที่กำหนดเองหรือการจัดรูปแบบข้อความส่งผลกระทบต่อเค้าโครงที่แสดงผลอย่างไร และวัดผลผ่าน API ของ DOMRect หรือ boundingRect
- การแสดงผลแบบไดนามิกในองค์ประกอบ: การใช้
boundingClientRect
,scrollIntoView
, หรือwindow.getComputedStyle()
เพื่อประเมินว่าองค์ประกอบตอบสนองอย่างไรภายใต้เค้าโครงที่แตกต่างกัน สามารถให้เบาะแสเกี่ยวกับเครื่องมือได้ - การส่งออก CSS Houdini: เบราว์เซอร์ที่เปิดเผย API เช่น
CSS.paintWorklet
หรือCSS.animationWorklet
จะถูกทำเครื่องหมายด้วยความแม่นยำสูงขึ้น — โดยเฉพาะอย่างยิ่งในการตรวจจับเบราว์เซอร์แบบไม่มีหัวหรือในภาคการเงิน
คุณสมบัติที่ใช้ CSS มีประสิทธิภาพเป็นพิเศษในการแยกแยะ โปรไฟล์การท่องเว็บของมนุษย์จริง ออกจาก สภาพแวดล้อมการปลอมแปลงที่ถูกสร้างขึ้น ทำให้เป็นเป้าหมายสำคัญสำหรับระบบป้องกันหลายบัญชีหรือระบบป้องกันบอทที่ทันสมัย
3. FlashID ปกปิดคุณสมบัติ CSS ได้อย่างไร
FlashID ใช้แนวทางที่แข็งแกร่งและเป็นโมดูลสำหรับการควบคุมการระบุลายนิ้วมือ CSS ซึ่งช่วยให้:
- การปลอมแปลงพฤติกรรม
CSS.supports()
: เราดักจับและเขียนการตอบสนองความสามารถของ CSS ใหม่เพื่อให้สะท้อนโปรไฟล์เบราว์เซอร์ที่ผู้ใช้กำหนดและสอดคล้องกัน - สภาพแวดล้อมสไตล์ชีตแบบแยกส่วน: FlashID ทำให้แน่ใจว่าเนื้อหา
document.styleSheets
เป็นเฉพาะสำหรับแต่ละอินสแตนซ์เบราว์เซอร์ และสามารถตัดแต่งได้เพื่อป้องกันการรั่วไหล เช่น การตรวจจับการแทรกสไตล์ชีต - ความสอดคล้องของการเรนเดอร์แบบอักษร: เรารักษาค่า CSS เฉพาะโปรไฟล์โดยการทำให้แน่ใจว่าสไตล์ที่คำนวณได้ที่เกี่ยวข้องกับแบบอักษร การเว้นวรรค และการแปลงยังคงเสถียรตลอดเซสชัน
- การปรับแต่งพฤติกรรมการจัดวาง: ตัวเลือกการจัดวาง CSS เช่น
display: grid
, กฎ flex หรือการแยกวิเคราะห์ค่าที่กำหนดเองจะถูกเลียนแบบอย่างแม่นยำเพื่อรักษาความสมจริงของเบราว์เซอร์ - การปกปิดการรองรับ Paint Worklet: FlashID สามารถจำลองหรือระงับ API ของ CSS Houdini ขั้นสูง เช่น
paintWorklet
ทำให้การตรวจจับทำได้ยากขึ้น - พฤติกรรมการตอบสนองที่รับรู้โปรไฟล์: มีเดียควอรี, prefers-color-scheme, และสไตล์ที่เกี่ยวข้องกับหน้าจอได้รับการปรับให้เข้ากับส่วนที่เหลือของโปรไฟล์เบราว์เซอร์
ด้วยการปรับแต่งระดับสูงเหล่านี้ FlashID รับประกันว่าการระบุลายนิ้วมือ CSS จะไม่เปิดเผยตัวตนของเบราว์เซอร์ และแต่ละโปรไฟล์จะทำงานราวกับว่ากำลังทำงานบนอุปกรณ์ที่ไม่เหมือนใครและแยกส่วนกัน
คุณอาจชอบ