如何防止(按住刷新按钮)DoS攻击

时间:2013-01-28 13:47:27

标签: javascript jsp servlets

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

“我们很抱歉,但您的Gmail帐户暂时无法使用。对于给您带来的不便,我们深表歉意,并建议您在几分钟内再次尝试。您可以查看应用状态信息中心了解该服务的当前状态。”

由于

2 个答案:

答案 0 :(得分: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
       }
%>

答案 1 :(得分:1)

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