当前位置:首页 > 技术分享 > 正文内容

屏蔽恶意IP地址提高网站安全性 .htaccess Nginx文件

admin7个月前 (10-23)技术分享769

为了提高云虚拟主机上的网站安全性,防止恶意IP地址访问网站,避免发生非法盗链和恶意采集网站资源的情况,造成资源占用、访问延迟或网站无法访问等问题,您可以通过配置Nginx文件或.htaccess文件以及ASP来屏蔽某些恶意IP地址,来指定网站的访问权限。

注意事项

  • 使用Nginx文件屏蔽IP地址访问时

    云虚拟主机管理控制台支持allow和deny指令,为保证Nginx服务的稳定性,在控制台上编写Nginx文件时,allow和deny指令只允许在location指令下使用。

  • 使用.htaccess文件屏蔽IP地址访问时

    • Order Deny,Allow指令逻辑

      先检查是否有Deny规则,无论有没有Deny规则都会继续检查是否有Allow规则,如果有Allow规则,则执行Allow规则且完全覆盖掉Deny规则。例如,以下规则表示允许所有IP地址访问网站。

       
      Order Deny,Allow        # 先检查Deny规则,但Allow规则拥有决定权。
      Deny from 192.168.13.0  # 只禁止192.168.13.0地址访问网站。
      Allow from all          # 允许所有IP地址访问网站。
    • Order Allow,Deny指令逻辑

      为先检查是否有Allow规则,无论有没有Allow规则都会继续检查是否有Deny规则,如果有Deny规则,则执行Deny规则且完全覆盖掉Allow规则。例如,以下规则表示禁止所有IP地址访问网站。

       
      Order Allow,Deny        # 先检查Allow规则,但Deny规则拥有决定权。
      Allow from 192.168.13.0 # 只允许192.168.13.0地址访问网站。
      Deny from all           # 禁止所有IP地址访问网站。
    • 在Linux操作系统云虚拟主机的/htdocs目录下,请您提前上传或者新建.htaccess文件。

    • Order指令可以决定Allow规则和Deny规则的生效顺序,即哪个规则排在最后,哪个规则就有最终决定权。举例说明:

操作步骤

针对不同类型的云虚拟主机,采用不同的屏蔽方式来屏蔽恶意IP地址访问网站。

说明

部分云虚拟主机提供了访问控制功能,请以实际控制台显示为准,您也可以使用该功能屏蔽恶意IP访问网站,从而有效降低您网站被DDoS攻击的风险。具体操作,请参见使用访问控制屏蔽恶意IP和限制并发连接数。

增强版系统云虚拟主机(Nginx)

针对该类型云虚拟主机,建议您使用Nginx文件屏蔽IP地址。即在云虚拟主机管理控制台的Nginx设置页面,配置网站的指定访问权限,屏蔽不允许的IP地址访问。

  1. 登录云虚拟主机管理页面。

  2. 找到待配置Nginx文件的增强版云虚拟主机,单击对应操作列的管理

  3. 在左侧导航栏,选择高级环境设置 > NGINX设置

  4. NGINX设置页面的编辑区域,输入您的配置Nginx文件内容(IP地址屏蔽规则)。

    以WordPress网站配置Nginx文件为例。

    各场景下IP地址屏蔽的生效规则示例如下所示:

    • 禁止单个IP地址访问

       
      location / {
          deny 192.168.13.0;
      }
    • 禁止多个指定IP地址访问

       
      location / {
          deny 192.168.13.0;
          deny 192.168.13.1;
          deny 10.1.5.0;
      }
    • 禁止多个不指定IP地址访问

       
      location / {
          allow 192.168.13.0;
          allow 10.1.5.0;
          deny all;
      }
    • 禁止IP地址段访问

  5. Nginx文件编辑完成后,单击保存设置

    完成IP屏蔽规则的配置后,如果这些屏蔽的IP再次访问您的WordPress网站,网页会返回403错误,表示您无访问权限。

普通版Linux系统云虚拟主机(Apache)

针对该类型云虚拟主机,建议使用.htaccess文件屏蔽IP地址,即在云虚拟主机管理控制台的站点根目录下,通过.htaccess文件配置IP地址屏蔽规则。

说明

本文以通过文件管理器方式管理网站程序文件为例,如果您想使用FTP工具管理网站程序文件,请参见通过FileZilla管理网站程序文件。

  1. 登录云虚拟主机管理页面。

  2. 找到待操作的云虚拟主机,单击对应操作列下的管理

  3. 在左侧导航栏,选择文件管理 > 文件管理器

  4. 上传网站程序文件到云虚拟主机并解压缩。

    本文以WordPress网站为例,具体操作,请参见使用文件管理器管理文件。

  5. 在主机的站点根目录下,找到.htaccess文件,单击对应操作列的查看

    如果.htaccess文件未找到,请下载压缩包获取该文件,然后清空原有的规则,按照实际需求添加规则即可。

  6. 文件查看/编辑页面的编辑模式下,输入.htaccess文件内容(IP地址屏蔽规则)。

    独享云虚拟主机
    共享云虚拟主机

    各场景下IP地址屏蔽的生效规则示例如下所示:

    • 禁止单个IP地址访问

       
      SetEnvIf X-Real-IP ^(192.0.2.0)$ ip_deny
      Deny from env=ip_deny
    • 禁止多个指定IP地址访问

       
      SetEnvIf X-Real-IP ^(192.0.2.0|192.0.2.1|192.0.2.2)$ ip_deny
      Deny from env=ip_deny
  7. .htaccess文件编辑完成后,单击确认

    完成IP屏蔽规则的配置后,如果被屏蔽的IP再次访问您的WordPress网站,网页会返回403错误,表示对应IP地址无访问权限。

普通版Windows系统云虚拟主机(IIS)

针对该类型云虚拟主机,建议使用ASP屏蔽IP地址。即将以下代码添加到ASP页面中,用以屏蔽不允许的IP地址访问。示例代码如下所示:

 
<%
requestIP = request.ServerVariables("REMOTE_ADDR")
IP = "[$Deny_IP2]"
trueURL  = "http://www.baidu.com"
falseURL = "http://www.google.com"
ipArr  = split(IP,"|")
flag  = false
for i=0 to ubound(ipArr)
  if requestIP=ipArr(i) then
     flag=true
     exit for
  end if
next
if flag then
   response.Redirect(falseURL)
else
   response.Redirect(trueURL)
end if%>
说明

[$Deny_IP2]为待屏蔽的IP地址,如果需要添加多个待屏蔽的IP地址,中间用|隔开。


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/618.html

分享给朋友:

相关文章

thinkphp等框架开发中容易忽略的xss攻击及应对XSS攻击方法

thinkphp等框架开发中容易忽略的xss攻击及应对XSS攻击方法

虽然说现在的web开发框架都是挺成熟的框架,在性能、安全等方面都有比较好的表现,但问题往往出现在业务逻辑上,如上周我再公司发现的一个跨站脚本攻击,(通常公司是这么过滤的,max(0,$_GET[‘a’])、strip_tags($_GET[...

WPS表格办公—取消科学计数法显示

WPS表格办公—取消科学计数法显示

我们在利用WPS表格与Excel表格进行日常办公时,经常需要制作各种各样的表格,当我们在表格当中输入长数据的时候,表格经常会自动显示为科学计数法,很多人都看不懂科学计数法的意思,那么,我们如何在输入长数字的时候避免显示为科学计数法呢,今天我...

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

家里面买了斐讯盒子T1,必不可少的就是刷机,刷机一直爽,一直刷机一直爽,这样的快乐一般人体会不到。原来斐讯盒子N1,T1,还有斐讯K2P路由器也变成了性价比超高的东东,而且众多大神也带来了超多可玩性非常高的固件和破解。楼主今天扒到了相关超高...

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有...

遭遇国外ip抓取或攻击怎么办一招解决禁止海外IP访问

遭遇国外ip抓取或攻击怎么办一招解决禁止海外IP访问

究发现很多网站被攻击都是来自海外的肉鸡,所以禁掉海外IP访问网站也是不错的防护手段,而且国内网站几乎很少有国外用户访问,称之为大局域网也不为过。今天主机吧来教大家如何利用域名解析禁止掉海外IP访问网站。绝大多数域名解析服务商都是提供电信联通...

安卓模拟器连接端口 及常用命令

下面是我总结和测试通过的:有的是搜集来的模拟器名称                     &nbs...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。