温馨提示×

CentOS Apache如何配置防盗爬虫

小樊
51
2025-10-15 06:58:40
栏目: 智能运维

在CentOS上配置Apache服务器以防止爬虫访问,可以通过以下几种方法实现:

方法一:使用mod_rewrite模块

  1. 启用mod_rewrite模块

    sudo a2enmod rewrite
    
  2. 重启Apache服务

    sudo systemctl restart httpd
    
  3. 编辑网站的.htaccess文件: 在你的网站根目录下创建或编辑.htaccess文件,添加以下内容:

    RewriteEngine On
    
    # 阻止特定IP地址
    RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.000$
    RewriteRule .* - [F]
    
    # 阻止特定User-Agent
    RewriteCond %{HTTP_USER_AGENT} ^BadBot$
    RewriteRule .* - [F]
    

方法二:使用mod_security模块

  1. 安装mod_security模块

    sudo yum install mod_security
    
  2. 启用mod_security模块

    sudo systemctl enable mod_security
    sudo systemctl start mod_security
    
  3. 配置mod_security规则: 编辑/etc/httpd/conf.d/security2.conf文件,添加以下内容:

    SecRule REMOTE_ADDR "@ipMatch 123.456.789.000" "deny,status=403,id:123456"
    SecRule REQUEST_HEADERS:User-Agent "@pm BadBot" "deny,status=403,id:123457"
    
  4. 重启Apache服务

    sudo systemctl restart httpd
    

方法三:使用robots.txt文件

  1. 创建或编辑robots.txt文件: 在你的网站根目录下创建或编辑robots.txt文件,添加以下内容:

    User-agent: *
    Disallow: /private/
    

    这将阻止所有爬虫访问/private/目录。

  2. 确保robots.txt文件可访问: 确保robots.txt文件位于你的网站根目录下,并且可以通过浏览器访问。

方法四:使用防火墙规则

  1. 使用iptables配置防火墙规则

    sudo iptables -A INPUT -p tcp --dport 80 -m string --string "BadBot" --algo bm -j DROP
    sudo iptables -A INPUT -p tcp --dport 80 -m iprange --src-range 123.456.789.000-123.456.789.255 -j DROP
    
  2. 保存防火墙规则

    sudo service iptables save
    
  3. 重启防火墙服务

    sudo systemctl restart iptables
    

通过以上方法,你可以有效地防止爬虫访问你的CentOS Apache服务器。选择适合你需求的方法进行配置即可。

0