web-dev-qa-db-ja.com

システム管理者は、自分のWebサイトがヘッドレスブラウザーによってこすられているかどうかを確認できますか?

TiktokとFacebookのスクレイピングに関する最近の 記事

一方、Seleniumをヘッドレスで実行することは、マシンを「クール」に保つのに最適ですが、スクレーパーとしてフラグを立てるのに役立つ場合があります。 システム管理者はヘッドレスリクエストを簡単に見つけることができます

著者はリクエストごとにランダムなUser-Agentを使用するため、ログがどこでリクエストを行っているブラウザのヘッドレスバージョンを示しているかはわかりません。ヘッドレスブラウザーを検出するための特定の署名はありますか?

質問に対する誠実な取り組み:

先見の明があると、Webドライバーのバージョン( なりすまし の可能性もあります)などのチェックを行うことができるように見えます check ただし、sys管理者を示すことで、この引用はログ自体がヘッドレスブラウザーを検出するのに十分であることを暗示しているようです。

3
Hooked

TL; DR「システム管理者はヘッドレスリクエストを簡単に見つけることができます」:[〜#〜] no [〜#〜]。彼らは確かにsomeヘッドレスリクエストを簡単に見つけることができます。しかし、一般的にはそうではありません。

明らかに、それはすべて、要求がどのように行われたか(それらを偽装するための労力)およびログがどのようにチェックされ、どのような対策が採用されたか(偽装に侵入するためにどれだけの努力が必要か)に依存します。

実際には、自動化された(ヘッドレスかどうかに関係なく)ブラウザーと人間ができる、そしてしばしばdo、さまざまなパターンでさまざまな方法でリクエストを実行します。彼らがそうするとき、この違いは多かれ少なかれ簡単に見つけられることができます。

違いは、多くの場合「意図的な」ものです。つまり、設計の選択に由来します。通常、一部のスクリプトを実行しないか、(一部の)画像をダウンロードせずにトラフィックを削減し、DOMの透明なリンクまたは非表示部分を表示および追跡します。ナビゲーションパターンは、人間の応答時間によって明らかに影響を受けます。また、ナビゲーションの忍耐力と範囲は、必要に応じて非人道的なものになる可能性があります。Webサイト全体をこする必要がある場合でも、「人間のような」ナビゲーションは使用できません。そして、誰かがサイト全体を順番に閲覧しているのを見た場合、たとえそれが人間だとわかっていても、気にしないかもしれません。

ブラウザも積極的に分析できます。マウスイベントをインターセプトし、AJAXを介して中継する。ヘッドレスブラウザーがJavascriptコードを正しく解釈し、理論的にはそれらの要求を実行できたとしても、人間がそれらのイベントを強制的に生成したり、同じことを確実に行う方法を知っていたりすることは決してありません。

しかし、ブラウザー(ヘッドレスかどうかに関係なく)が、OCRとスクリプトによる画面レンダリングを解釈し、人間のようにサイトをスクレイピングするように設計されたAIによって、マウスとキーボードのようなインターフェイスによって制御されると、ほとんど不可能になり、確かに容認できないほど偽陽性が蔓延しています-それを本物の人間と区別するためです。

3
LSerni