私のウェブサイトが自動実行によってハッキングされたと聞いていますlibwww-perl
BOT/0.1 (BOT for JCE)
。Gecko/20100101
すべての Web サイトを、これらの自動スクリプトではなく、正規のブラウザーでのみ利用できるようにする方法はありますか。
答え1
いいえ、Web サイトが正規のブラウザでのみ利用可能であることを保証することはできません。これは、クライアントのプラットフォームと Web ブラウザを判別できる唯一のデータ ソースがリクエスト ヘッダーであるためです。リクエスト ヘッダーはハッカーによって完全に偽造される可能性があります。
たとえば、ハッカーは Fiddler などのツールを使用して、User-Agent
Internet Explorer、Chrome、Firefox、Googlebot、またはその他の HTTP クライアントにそっくりな偽造リクエスト ヘッダーを持つカスタム HTTP リクエストを Web サイトに送信する可能性があります。したがって、HTTP リクエスト データに基づいてハッカーと正当なユーザーを区別することは、不可能ではないにしても、非常に困難です。
答え2
防御策は無数に挙げられますが (ユーザー エージェントの制限、XML ファイルから JavaScript を使用してコンテンツを表示する、キャプチャなど、ユーザーを怒らせるにはうってつけの方法)、回避策を見つけ出すまで、避けられない事態を食い止めるだけです。
防御策を次から次へと導入するよりも、問題の核心に杭を打ち込むのが最善です。可能であれば、アプリケーションを調べて、侵入方法を見つけ出し、穴をふさぐようにしてください。最も明らかに調べるべき場所はフォーム入力です。フォーム入力は、最初に解析されることなく SQL 文字列に渡されていますか? 準備済みステートメント (SQL インジェクションの試みを最初から阻止する) を使用する代わりに、SQL 文字列を生成していますか? 修正できる場合は修正してください。他の人の製品の場合は、パッチを作成して送信してください。
セキュリティに関して最もやってはいけないことは、自分には起こらないと思い込むことです。ワーム、ウイルス、オートボットは通常、あなたの小さなサイトが脅威ではないと認識できるほど賢くありません。
賢く、安全に、気をつけて。