0

自分のサイトへのこれらのタイプのリクエストをブロックしたいと考えています。どのように行うのが最善の方法ですか?これまでに試したことと私の考えをリストアップしました。

正しい方向へのポインタだけで、コードは必要ありません。

速度に基づいて可能な限り最善の方法を使用したいのですが、本物の人をブロックしたくないですか?

このサイトは以下を使用しています:

- PHP
- Symfony2
- Apache
- Ubuntu

これらは両方とも PHP で簡単に実行できますが、Apache/Ubuntu などを使用したほうがよいのではないかと考えています。

(1) 特定の IP アドレスをブロックします。これは、明らかに危険なことをしている人だけです。たとえば、中国からの IP アドレスの範囲は、それらすべての IP アドレスが怪しいものであることを証明した場合です。

現在、すべての訪問者の IP を記録しています。後でこのデータを手動で確認し、IP (または範囲) をブロックする必要があると判断した場合は、手動で対処します。

(2) 実際の「domain.com」ドメイン名の代わりにサーバー IP アドレス (例: 123.55.44.222) を使用して、私のサイトにアクセスする人をブロックします。サイトを台無しにするので、これを行いたいです(コードを変更することでこれを解決できることは間違いありませんが、誰もIPを入力しないので、これを行う方が簡単です)。

これにより、IPを使用しているかどうかを検出し、すぐにブロックするコードが必要です(おそらく403エラーを返します)

ありがとう。

4

2 に答える 2

3
  1. それらをファイアウォールでブロックします。

  2. IP 経由でアクセスしたときにサイトが壊れないように修正するか、Apache の構成を変更してデフォルト サイトとして機能しないようにします。

それはさておき、執拗にログを読み、「悪いことをしている人々」をブロックしようとすると、[さらに] 狂気に陥り、一般的には無意味です。ボットネット、プロキシ、スクリプト キディを使ってワッカモールを遊んで、残りの自由時間と正気を削ぎ落とすことになります。

コードを修正してください。人々がこれらの「悪いこと」をしているという事実に対処するために、そうする能力を排除します。

于 2013-10-15T16:51:57.550 に答える
1

SpamhausはすでにIP アドレスのブラックリストを維持しており、毎日更新しています。このスクリプトを使用新しいリストを毎日自動的に取得し、ファイアウォールを更新して IP アドレスをブロックすることができます。

独自のブラックリストを維持したい場合は、Spamhaus からの取得に関連するスクリプト内のロジックを置き換えるだけです。

質問の2番目の部分については、これらのいずれかを行うことができます

  1. IP アドレスが使用された場合、ユーザーをドメイン名ベースの URL にリダイレクトします。例については、これを参照してください
  2. 最初の仮想ホストとして IP アドレスに一致する仮想ホストを定義します。ここで HTTP 403 エラーをスローします
于 2013-10-15T16:55:53.087 に答える