วิธีตรวจจับเว็บบอต 101
(antoinevastel.com)การตรวจจับจากพฤติกรรม:
-
ฝั่งเซิร์ฟเวอร์: จำนวนหน้าต่อเซสชัน จำนวนคำขอ ความต่างของเวลาต่อหน้า
-
ฝั่งไคลเอนต์: ความต่างของเวลาของการเคลื่อนเมาส์/การคลิก/การเลื่อน/การพิมพ์คีย์
การตรวจจับจากฟิงเกอร์พรินต์:
-
Passive TCP หรือ TLS
-
เบราว์เซอร์: ตรวจสอบคุณสมบัติเฉพาะของเบราว์เซอร์แบบ headless (เช่น PhantomJS, Puppeteer) ตรวจสอบว่า UA ต่างจากของจริงหรือไม่ Red Pills (ตรวจสอบว่าเป็นสภาพแวดล้อม VM หรือไม่)
และสุดท้ายคือ CAPTCHA
3 ความคิดเห็น
สุดท้ายก็ได้ผลชะงัดที่สุดจริง ๆ
อีกไม่นานก็คงมีบอตที่แก้จุดที่บทความนี้ชี้ไว้ได้เหมือนกันสินะ 555
ส่วนที่ตรวจสอบว่า UA เป็นของจริงหรือเปล่าน่าสนใจดีนะครับ
เมื่อเรียก
eval.toString().lengthแล้ว FF กับ Safari จะคืนค่า 37, Chrome จะคืนค่า 33, IE จะคืนค่า 39ก็เลยตรวจสอบว่าข้อมูลที่ส่งมาใน UA เป็นเบราว์เซอร์จริงหรือไม่ แล้วถ้าสองอย่างนี้ไม่ตรงกันก็ถือว่าเป็นบอต