2017-01-14 6 views
0

私は良いウェブトラフィックフィルタを作ろうとしています、私の目標は、すべてのボット、クローラ、スパイダー、非実際のユーザーを禁止し、特定のブラウザのみを許可することです。クローラ、ボット、偽のユーザーを禁止し、特定のブラウザのみを許可する方法は?

私はPHPでいくつかのテストを行っていますが、他のものはJavaScriptで書かれていますが、私はそれが完全にうまくいったとは思いません。私はいくつかの専門家の意見が欲しいです。私は、PHP + JavaScript + robots.txt + .htaccessを組み合わせて使用​​するといいと思います。

私はユーザーエージェントが偽装されている可能性があることを知っていますが、それを検出する良い方法があるかどうかを知りたいと思います。たとえば、バージョンに関係なく、ユーザーだけがMozilla Firefoxを使用できるようにしたいと考えています。

他のすべてのブラウザは除外リストに移動するか、並べ替えてください。これはフィルタのようなものです。

これを行うにはどのような方法が最適ですか?要するに、Firefoxのみを許可し、すべての偽のユーザー、ロボット、スパイダー、クローラー、およびその他のいたずらを避けるようにブラウザーを検出します。

+0

ここで問題となるのは、IPアドレスを含む何かが偽装される可能性があるということです。ブラウザ上でjavascriptを実行して、user-agentに頼る代わりにブラウザを検出しようとするかもしれませんが、それも同様に偽装することができます。あなたに戻って私の質問です:あなたは実際に何を達成しようとしていますか?なぜあなたはブラウザに基づいてフィルタリングしていますか? –

+0

@RogerCracel私は単にすべてのくそ(スパイダー、ロボット、クローラーなど)を避け、Firefoxを使用している実際のユーザーにのみ集中したいと思っています。私はすべてが偽造されるかもしれないことを知っているしかし、私が見つけ出す最良の方法を探していますが、最終的に偽物を作成したユーザーがいれば問題ではありません。重要なことは、最大値をフィルタリングして、そのタスクを難しくすることです。 – candlejack

答えて

1

ここで、いくつかのアイデアを提供してみましょう。

あなたは技術の組み合わせを使用する必要があります。

  1. ロボットはLEGICクローラを維持します。
  2. クライアント側でいくつかのJavascriptの検証を使用して、ほとんどのクローラを外に保ちます(ほとんどの場合、Javascriptを実行できません)。
  3. サーバー側では、user agent serviceを使用して、ユーザーエージェントも識別してフィルタします。
  4. 「既知の犯罪者」に対して一括禁止を行うことができるように、IPアドレスを追跡します。

#2でもう少し拡張すると、リンク先ページでJavaScriptを使用して、発信元にマップできる「既知の」値のCookieを削除できます。 1つの例は、ユーザエージェントとIPアドレスを取得し、ハッシュを計算することです。これはまだ偽装されている可能性がありますが、ほとんどの犯罪者はあなたの保護対策を迂回するように努力するのではなく、あなたのサイトを無視することにします。

これが役に立ちます。

+1

今のところ私はこれが最善の方法だと思う – candlejack

関連する問題