使用PHP或.htaccess限制IP访问

我在很多网站实战过程中都经历过这样的事情:有些人使用各种IP来进行spam或者利用程序来进行网站内容抓取。这样的不道德行为为我们网站带来了很大的负担。另外,由于一些搜索引擎爬虫不遵守固定协议,对网站大量的抓取和重复爬行,给网站服务器造成重大压力。这些情况都需要我们及时处理,否则给网站带来的伤害是很大的。通过使用PHP或.htaccess对固定IP进行限制访问在做网站优化以及网站基础部署中都是有用的,可以有效防止采集和Spam来源。


如果你能获取捣乱来源的IP,那么可以利用网站程序自带的IP禁止将其IP ban掉,或者如果你的服务器支持PHp,那么可以使用以下代码实现对固定IP的限制访问。

  1. <?php
  2. if($_SERVER['REMOTE_ADDR'] == "192.168.1.123"){
  3. exit();
  4.  }
  5. ?>

这个代码有个缺陷,就是每次都需要在网页上添加IP,对于要限制的IP地址比较多的时候,就比较繁琐。那么可以使用以下代码减轻你的网站负担。

  1. <?php
  2. $banned = file("ban_ip_list.dat");
  3. if(in_array($_SERVER['REMOTE_ADDR'], $banned)){
  4. echo "你的IP属于被禁止访问列表。如果问题请与站长联系。";
  5. exit();
  6. }
  7. ?>

这样只需要在ban_ip_list.dat里面每行添加一个IP就可以实现IP禁止了。

如果网站不支持PHP或者需要禁止的IP特别多,那么我们可以利用.htaccess来实现限制效果。

  1. Order Deny,Allow
  2. Deny from xxx.xxx.xxx.xxx
  3. Deny from xxx.xxx.xxx
声明:本文作者天真,版权归属北京SEO博客,转载请保留本声明与本文原始链接
原文地址:http://www.lenoza.com/seo/php-htaccess-ban-ip/

[作者:天真(北京SEO) | 标签:, , ]


发表你的看法 :)

(必需)

(必需)