如题:
   我们网站有一个页面,这几天老是有一些IP频繁访问,造成数据库负载很大。不得不临时关掉这些IP,之后又有改变IP频繁访问页面。大概数据统计,一天该页面的访问数有10来万。怎么样来限制过于频繁访问页面的IP呢?想找一个比较好的方法。请大家指教!谢谢了!

解决方案 »

  1.   

    通过iptables来限制吧。要是ip常换,这就是dos攻击了。
      

  2.   

    记录下来这些IP,然后用程序分析,
    如果访问的IP在这个防伪内的话,就阻止它再访问。
      

  3.   

    apache家ip限制模块
    对正常访问是不会限制的
    如果dos攻击估计没什么办法
      

  4.   

    下载 apache 的 evasive 模块,(假设你的 apache 安装在 /usr/local/apache)然后/usr/local/apache/bin/apxs -c -i -a mod_evasive.c建立一个目录 /usr/local/apache/logs/evasive 并改权限为 777然后在 httpd.conf 里加上
    <IfModule mod_evasive.c>
    DOSHashTableSize 3097
    DOSPageCount 3
    DOSSiteCount 50
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSBlockingPeriod 10
    DOSLogDir /usr/local/apache/logs/evasive
    DOSWhitelist 66.249.65.*
    </IfModule>DOSWhitelist 后写上你允许其随任访问的IP
      

  5.   

    以前我也遇到过这种情况,后来定时让其生成HTML(10分钟左右),问题就解决了。其实MYSQL自身也带有查询缓存,不静态化就会造成数据库服务器和WEB服务器之间的大量数据传输,如果MYSQL和WEB服务器一体的反而问题小些(数据就在内存中跑)。