4

我的网站非常动态,它从数据库中收集数据。当我在测试时,我按下了刷新键并按住了一段时间,服务器宕机了。(这是一个简单的 DoS 攻击)。如何阻止用户继续点击刷新按钮。谁能告诉我解决方案。像 gmail 一样,转到 gmail 帐户并F5按住它一段时间。Gmail 将显示此消息

“很抱歉,您的 Gmail 帐户暂时不可用。对于给您带来的不便,我们深表歉意,并建议您过几分钟再试一次。您可以查看应用程序状态仪表板了解服务的当前状态。”

谢谢

4

2 回答 2

1

你必须使用 mod_evasive 或 mod_qos 或 mod_security
我更喜欢 mod_security modsecurity_crs_11_dos_protection

于 2014-03-20T21:09:48.340 回答
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 回答