4

私のウェブサイトは非常に動的で、データベースからデータを収集しています。テスト中に更新キーを押してしばらく押し続けると、サーバーがダウンしました。(これは単純なDoS攻撃です)。ユーザーが更新ボタンを押し続けるのを止めるにはどうすればよいですか。誰かがその解決策を教えてもらえますか?Gmailと同様に、Gmailアカウントに移動しF5、しばらく押し続けます。Gmailはこのメッセージを表示します

「申し訳ありませんが、Gmailアカウントが一時的に利用できなくなりました。ご不便をおかけして申し訳ありません。数分後にもう一度お試しください。サービスの現在のステータスについては、アプリのステータスダッシュボードをご覧ください。」

ありがとう

4

2 に答える 2

1

カウンターアプローチを使ってみませんか。短い間隔でしきい値に達するまで増やし、その場合はアクセスをブロックします。

そのためのJSPは次のよ​​うになります

 <% 
        int refresh;
        if(session.getAttribute("pageRefresh")==null)
             refresh=0;
        else
            refresh = (Integer)session.getAttribute("pageRefresh") + 1;


       session.setAttribute("pageRefresh", refresh); 

       session.setMaxInactiveInterval(10000);

       if (refresh>100)
       {
           //error message or black list client
       }
%>
于 2013-02-01T17:31:06.593 に答える
1

mod_evasiveまたはmod_qosまたはmod_securityを使用する必要があります私はmod_security
を好みますmodsecurity_crs_11_dos_protection

于 2014-03-20T21:09:48.340 に答える