8 คะแนน โดย xguru 2020-02-11 | 3 ความคิดเห็น | แชร์ทาง WhatsApp

การตรวจจับจากพฤติกรรม:

  • ฝั่งเซิร์ฟเวอร์: จำนวนหน้าต่อเซสชัน จำนวนคำขอ ความต่างของเวลาต่อหน้า

  • ฝั่งไคลเอนต์: ความต่างของเวลาของการเคลื่อนเมาส์/การคลิก/การเลื่อน/การพิมพ์คีย์

การตรวจจับจากฟิงเกอร์พรินต์:

  • Passive TCP หรือ TLS

  • เบราว์เซอร์: ตรวจสอบคุณสมบัติเฉพาะของเบราว์เซอร์แบบ headless (เช่น PhantomJS, Puppeteer) ตรวจสอบว่า UA ต่างจากของจริงหรือไม่ Red Pills (ตรวจสอบว่าเป็นสภาพแวดล้อม VM หรือไม่)

และสุดท้ายคือ CAPTCHA

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

 
gwanryo 2020-02-13

สุดท้ายก็ได้ผลชะงัดที่สุดจริง ๆ

 
sduck4 2020-02-11

อีกไม่นานก็คงมีบอตที่แก้จุดที่บทความนี้ชี้ไว้ได้เหมือนกันสินะ 555

 
xguru 2020-02-11

ส่วนที่ตรวจสอบว่า UA เป็นของจริงหรือเปล่าน่าสนใจดีนะครับ

เมื่อเรียก eval.toString().length แล้ว FF กับ Safari จะคืนค่า 37, Chrome จะคืนค่า 33, IE จะคืนค่า 39

ก็เลยตรวจสอบว่าข้อมูลที่ส่งมาใน UA เป็นเบราว์เซอร์จริงหรือไม่ แล้วถ้าสองอย่างนี้ไม่ตรงกันก็ถือว่าเป็นบอต