如何使用Apache的htaccess文件限制IP地址访问

如何使用Apache的htaccess文件限制IP地址访问

更新时间:2020-06-12 16:55:19

免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

概述

本文主要介绍在Linux系统虚拟主机中,通过配置htaccess文件限制IP地址访问的方法。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

在服务器上运行网站时,会遇到大量的恶意IP地址攻击访问,或者出现非法盗链和恶意采集网站资源的情况。如果您使用Apache服务运行网站,可以通过其根目录下的htaccess文件限制某些IP地址对网站的访问。首先下载压缩包,获取htaccess文件,然后清空原有的规则,按照需求添加规则即可,规则配置可参考如下。

禁止特定IP地址访问

以下是禁止特定地址访问,但其他IP地址可以正常访问的设置方法。禁止特定的IP地址可根据现场实际情况而定,以下以123.0.0.1地址为例。

Order Allow,Deny
Allow from all
Deny from 123.0.0.1

禁止部分IP地址访问

以下是禁止部分地址访问,但其他IP地址可以访问的设置方法。禁止的部分IP地址可根据现场实际情况而定,以下以123.0.0.1、123.0.0.2和123.0.0.3地址为例。

Order Allow,Deny
Allow from all
Deny from 123.0.0.1 123.0.0.2 123.0.0.3

禁止IP地址段访问

以下是禁止IP地址段访问的设置方法。禁止的IP地址段可根据现场实际情况而定,以下以192.168.1.0/24地址段为例。

Order Allow,Deny
Allow from all
Deny from 192.168.1.0/24

关于使用htaccess文件限制IP地址访问的注意事项如下:

  • Order关键字可以决定Allow和Deny起作用的顺序,简单的说就是谁排在最后,谁就有最终的决定权。Allow表示允许,Deny表示拒绝。
  • Order Deny,Allow是先检查是否有Deny规则,无论有没有Deny规则都会继续检查是否有Allow规则,如果有Allow,则Allow规则的内容可以覆盖掉Deny规则。
  • Order Allow,Deny则与上一条的内容相反。
  • 以下是禁止所有IP地址访问的设置方法。
    Order Allow,Deny
    Allow from 123.0.0.1
    Deny from all
    说明:
    • Order Allow,Deny为先检查Allow,而Deny拥有决定权。
    • Allow from 123.0.0.1为只允许123.0.0.1地址访问网站。
    • Deny from all为禁止所有IP地址访问网站。
  • 以下是只允许特定IP地址访问网站的设置方法,以下以123.0.0.1地址为例。
    #允许一个IP网段
    allow from 123.0.0.1/255
    
    # 或者你需要在这IP网段中允许部分IP地址访问
    allow from 123.0.0.0
    
    # 除此之外一切均可以访问
    allow from all

适用于

  • 云虚拟主机