웹봇을 인식하는 방법 101
(antoinevastel.com)행동 인식:
- 서버측: 세션당 페이지. 요청수, 페이지당 시간차이
- 클라측: 마우스 이동/클릭/스크롤/키입력 시간 차이
핑거프린트 인식:
- Passive TCP 나 TLS
- 브라우저: 헤드리스 브라우저(PhantomJS,Puppeteer등)의 특정 속성 확인, UA와 실제가 다른지 확인하기. Red Pills(VM 환경인지 확인하기)
그리고, 마지막은 CAPTCHAs
UA가 진짜인지 확인하는 부분이 재미나네요.
eval.toString().length 를 호출했을때, FF와 Safari는 37, 크롬은 33, IE는 39를 리턴 하니까
UA에 보낸 정보가 진짜 브라우저가 맞는지를 확인해서 둘이 다르면 봇이라고.