centos

CentOS Apache如何配置防盗爬

小樊
48
2025-04-20 18:38:57
栏目: 智能运维

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

方法一:使用mod_rewrite模块

  1. 启用mod_rewrite模块

    sudo yum install mod_rewrite
    sudo systemctl restart httpd
    
  2. 编辑Apache配置文件: 打开你的网站配置文件,通常位于/etc/httpd/conf/httpd.conf/etc/httpd/conf.d/yourdomain.conf

  3. 添加mod_rewrite规则: 在<Directory><Location>块中添加以下内容:

    <Directory "/var/www/html">
        RewriteEngine On
        RewriteCond %{HTTP_USER_AGENT} badbot [NC,OR]
        RewriteCond %{HTTP_USER_AGENT} crawler [NC,OR]
        RewriteCond %{HTTP_USER_AGENT} spider [NC]
        RewriteRule .* - [F,L]
    </Directory>
    

    这里的badbot, crawler, spider是示例用户代理字符串,你可以根据需要替换为实际的爬虫用户代理。

  4. 重启Apache服务

    sudo systemctl restart httpd
    

方法二:使用mod_security模块

  1. 安装mod_security

    sudo yum install mod_security
    sudo systemctl restart httpd
    
  2. 启用mod_security: 编辑/etc/httpd/conf.d/mod_security.conf文件,确保以下行未被注释:

    IncludeOptional /etc/httpd/conf.d/*.conf
    
  3. 添加防盗爬规则: 在/etc/httpd/conf.d/userdata/std/2_4/yourdomain.conf文件中添加以下内容:

    SecRule REQUEST_URI "@rx /sensitive-page" \
        "id:1234567,\
        phase:2,\
        deny,\
        status:403,\
        log,\
        msg:'Access to sensitive page is blocked'"
    

    这里的/sensitive-page是你希望保护的页面路径。

  4. 重启Apache服务

    sudo systemctl restart httpd
    

方法三:使用第三方防盗爬插件

你也可以考虑使用第三方防盗爬插件,如CloudflareSucuri,这些插件提供了更高级的防盗爬功能,包括IP黑名单、验证码等。

注意事项

通过以上方法,你可以有效地防止爬虫访问你的CentOS Apache服务器上的敏感内容。

0
看了该问题的人还看了