web-dev-qa-db-ja.com

User-Agentに別のUser-Agentが含まれているとはどういう意味ですか?

基本的に、ユーザーエージェントには通常のユーザーエージェントが表示される場合があり、最後に「User-Agent:」タグが表示され、その直後に別のユーザーエージェントが表示されます。 2番目のユーザーエージェントが、「User-Agent:」タグなしで最初のユーザーエージェントに追加される場合があります。

ここに私が見たいくつかのサンプルがあります:最初のいくつかはどこかに真ん中に「User-Agent:」タグを含み、見やすくするためにフォントを変更しました。

Mozilla/4.0(互換性; MSIE 7.0; Windows NT 6.0; Trident/4.0; GTB6; User-agent: Mozilla/4.0(互換性; MSIE 6.0; Windows NT 5.1; SV1); SLCC1; .NET CLR 2.0.50727;。 NET CLR 3.0.04506)

Mozilla/4.0(互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; MRA 5.10(ビルド5339); User-agent: Mozilla/4.0(互換性; MSIE 6.0; Windows NT 5.1; SV1); .NET CLR 1.1.4322; .NET CLR 2.0.50727)

Mozilla/4.0(互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; User-agent: Mozilla/4.0(互換性; MSIE 6.0; Windows NT 5.1; SV1); .NET CLR 2.0.50727; .NET CLR 3.0。 4506.2152; .NET CLR 3.5.30729)

Mozilla/4.0(互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; User-agent: Mozilla/4.0(互換性; MSIE 6.0; Windows NT 5.1; SV1); .NET CLR 1.1.4322; .NET CLR 2.0。 50727; .NET CLR 3.0.4506.2152)

いくつかのwithout中央の "User-Agent:"タグがありますが、2つのユーザーエージェントが互いに結びついているように見えます。

Mozilla/4.0(互換性; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0(互換性; MSIE 6.0; Windows NT 5.1; SV1); .NET CLR 3.5.30729)

Mozilla/4.0(互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; IPMS/6568080A-04A5AD839A9; TCO_20090713170733; Mozilla/4.0(互換性; MSIE 6.0; Windows NT 5.1; SV1); InfoPath.2)

さて、これにいくつかのメモを追加します。 「User-Agent:」タグは通常ヘッダーであり、一般的な「User-Agent:」文字列シーケンスはサーバーなどに送信される実際のユーザーエージェントですが、通常は「User-Agent:」文字列は実際のユーザーエージェントの一部であってはなりません。これは、接頭辞や、後に続くものが実際のユーザーエージェントになることを示すタグのようなものです。

さらに、これらは一緒に貼り付けられた2つのユーザーエージェントにすぎないと考えていたかもしれませんが、よく見ると、そうではないことがわかります。これらのすべてのデュアルユーザーエージェントのリストで、「compatible」キーワードの直前の開き括弧「(」を見ると、その括弧「)」へのペアが実際に最後、2番目のユーザーの終わりにあることがわかります。エージェント。そのため、最初のユーザーエージェントはブラケット「)」を閉じず、2番目のユーザーエージェントが始まる前に発生することはありません。常に最後にあるため、2番目のユーザーエージェントは、次のように最初のユーザーエージェントの機能の1つに似ています: " Trident/4.0 "または" GTB6 "など...

2番目のユーザーエージェントは常にMSIE 6.0(Internet Explorer 6.0)であり、興味深いことに注意してください。

私が最初に考えていたのは、使用中のブラウザとインストールされているブラウザを表示する何らかの仮想マシンだと思っていましたが、その中のポイントは何だと思いましたか?

最後に、今は、MSIE 7.0または8.0がインストールされていても、仮想の「Internet Explorer 6.0で表示」モードがオンになっている場合、ユーザーエージェントこのようなものに変更します。つまり、IE 8.0がインストールされていますが、IE 6.0と同じようにすべてをレンダリングしています。

Internet Explorerにそのような機能はありますか?ここで何かしますか?これについてどう思いますか?他にアイデアがある場合は、お気軽にご連絡ください。

現時点では、これらが有効なユーザーエージェントであるか、無効であるかを理解しようとしています。約44,000のユーザーエージェントのリストで、このタイプのデュアルユーザーエージェントを約400回見ました。私はそれらの40を詳細に調査しましたが、すべてのユーザーが「2番目」のユーザーエージェントとしてMSIE 6.0を使用していました(そして最初のユーザーエージェントは7または8などのMSIEの上位バージョンです)。これは、両方のユーザーエージェントがMSIE 8.0であった1つを除くすべての場合に当てはまりました。

Mozilla/4.0(互換性; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0(互換性; MSIE 8.0; Win32; GMX); GTB0.0)

これは40回の「クローズ」インスペクションで一度発生しました。最初の4,400ユーザーエージェントのサンプルを取得し、MSIE/Windowsユーザーエージェントでこれらの40を見つけることにより、44,000で400を推定し、それを推定して40を推定しました。MSIE以外のユーザーエージェントでも同様のことが起こりました1つのユーザーエージェントに2つのMozillaがあった場合、MSIE以外のエージェントは、おそらく私が指摘したものの上にさらに30%を追加するでしょう。誰かが望めば、それらのサンプルを見せることができます。

そこにあります、これは私がいるところです、皆さんはどう思いますか?

5

ほぼ間違いなく、これはWebサイトにアクセスしているソフトウェアのバグです。ブラウザ、ブラウザプラグイン、またはwgetなどのスクリプト/コマンドラインプログラムです。誰かがUser-agentヘッダーを変更しようとしたが、代わりに標準ヘッダー内に貼り付けたようなものです。

ユーザーの特定のIPがサーバーの過負荷の問題を引き起こしていない限り、実行できる実際のアクションはありません。

2
DisgruntledGoat

文字列内の「User-Agent:」はW3Cの標準ではありません。内部にこの文字列タグの正当な理由が見つからないため、個人的にブロックします。 IP、エージェント文字列、リファラーなどの分析に膨大な時間を費やしました。

他の人に役立つ場合:

カスケード手順を使用して不正なトラフィックを分離し、検証時間とサーバーリソースを可能な限り低プロファイルにします。

1)ROBOTS.txt

不正なボットの最も完全なリストがあれば、それらを禁止し、不正なトラフィックを短縮できます。

2)SESSION_Start

悪いものの配列を含むルーチン:

  • 直接ハッキングすることを意図したURL: "xmlrpc | wordpress | wp-admin | ..."
  • 良いボット:「baidu | bingpreview | bingbot | adidxbot | googlebot.com | ...」
  • エージェントの一般的な不良文字列: "user-agent:| genieo | majestic12 | ..."
  • よくない不正な文字列の大きなリスト: "abcdatos | almaden | amsu.ru | chaos | ..."(このリストには3,000個の文字列を簡単に含めることができます)

a)要求が不正なURLの場合、ユーザーはエラー401.3を受け取ります。 wp-admin、xmlrpc.xml、およびその他のURL攻撃をトラップします。

b)User-Agentの「Good bots」文字列の場合はループし、残りのチェックをバイパスします。

c)「既知の不良エージェントの短いリスト」にループし、見つかった場合はエラー403.1を送信します

d)短いリストにない場合は、「悪い文字列」の大きなリストにループし、401.3(ユーザーの道路の終わり)を送信します。

3)MONITORページ

文字列が見つかったとき; IP、国、文字列、URL、リファラー、およびエージェントはメモリに保存され、リアルタイムのモニターページに赤で表示され、確認されます。

例:「puffin」または「user-agent:」は間違いの可能性があるため、ブラウザ、ソフトウェア、テレビ、デバイス、タブレット、または電話の一部であり、正しい配列である場合、両方が調査されます。

ブラウザとバージョンの膨大なリストがあると、エージェント文字列を確認するのに役立ちます。

結論:

「User-Agent:」という文字列は特定の時間帯に発生し、IPは主に米国に属し、同じネットワークと地理的位置に近く、同じブラウザタイプ、バージョン、互換性と密接な関係があることがわかりました。 。

「ユーザーエージェント:」を1週間後に拒否すると、数日または数週間はもう来ないように見えます。それが何をしているように見え、403.1が禁止され、主張をやめました。

http://www.useragentstring.com/index.php でこの文字列を分析すると、「user-agent:」は一般的なユーザーではなく、良いクモ。

0
user2033838

Stackoverflowの 承認された回答 を見てください。標準定義RFC2616およびRFC1945へのリンクがあります。

訪問者追跡プラグインを開発したときの私自身の実験から、ログに多くの間違った偽のユーザーエージェントヘッダーが見つかることを追加できます。

例:誰かがwgetなどのコマンドラインツールを使用してサイトをスパイダーする場合、ユーザーが好きなものを追加できるuser-agent-stringパラメーターがあります。また、多くのSEOスパイダーツールを使用すると、単なる文字列を追加することができます。一部のプライバシープラグインは、ヘッダーを偽造します(または、変更できます)。スクリプトキディハッカーツールも偽物です。ああ、はい、そしてあなたがあなたのサイトに重要な票を持っているなら(例えば:人々は何かに勝つことができるか、それはいくらかの誇大広告を作成します)あなたは多くの偽物を見るでしょう:-)

0
initall