8 ポイント 投稿者 xguru 2020-02-11 | 3件のコメント | WhatsAppで共有

行動の認識:

  • サーバー側: セッションあたりのページ数、リクエスト数、ページごとの時間差

  • クライアント側: マウス移動 / クリック / スクロール / キー入力の時間差

フィンガープリントの認識:

  • Passive TCP や TLS

  • ブラウザー: ヘッドレスブラウザー(PhantomJS、Puppeteer など)の特定の属性を確認、UA と実際が異なるかを確認。Red Pills(VM 環境かどうかの確認)

そして最後は、CAPTCHA

3件のコメント

 
gwanryo 2020-02-13

やはり最後のが一番手っ取り早いですね

 
sduck4 2020-02-11

この記事で指摘されていることもすぐに解決したボットが出てきそうですね(笑)

 
xguru 2020-02-11

UA が本物かどうかを確認する部分が面白いですね。

eval.toString().length を呼び出したとき、FF と Safari は 37、Chrome は 33、IE は 39 を返すので

UA が送ってきた情報が本当にそのブラウザのものかを確認して、両者が違えばボットだということです。