浏览模式: 标准 | 列表 Tag: 不关站备案

不关站备案的方法:屏蔽管理通信局所在区域IP

很多朋友因为国内备案程序的繁琐而选择美国、日本、韩国或者是香港等非国内的IDC放置自己的网站,虽然可以避免了备案,但是网站的访问速度却大打折扣……

从阿里云论坛上看到一则“屏蔽备案地方IP的代码”,结合某些朋友的实际操作实现不关站备案,只要让管理通信局所在区域IP无法访问到网站内容即可(网站没有正常显示)。

代码适用于PHP程序,如下代码保存为shielded.php文件并放置到网站根目录:

 

  • <?php
  • header("Content-type: text/html; charset=utf-8");
  • $verification = '杭州市';//需要屏蔽市的名称
  • $ip = $_SERVER['REMOTE_ADDR'];//获取访客IP
  • $antecedents = $_SERVER['HTTP_REFERER'];//访客来路地址
  • $result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);
  • $address = json_decode($result,true);
  • if($address['data']['city'] == $verification && strpos($antecedents, 'baidu') === false && strpos($antecedents, 'google') === false)
  • //判断访客是否属于杭州省(属于则为真),是否来自百度(来源不是百度则为真),是否来自谷歌(来源不是google则为真)
  • {
  • Header("HTTP/1.1 403 Forbidden");//访客来自杭州省,并且不是从百度或者google搜索过来的,才会显示403错误
  • exit;
  • }
  • ?>

 

对于大多数网站而言,只要在所有页面都会调用的公用文件,比如页头、页尾的php文件中引入shielded.php,而在wordpress程序中,进入后台->外观->编辑->选择header.php文件,在最前面加入如下代码:

  • <?php require('shielded.php');?>

访问网站试试效果。


http://ip.taobao.com/service/getIpInfo.php?ip=114.114.114.114

返回信息如下:

{"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u534e\u4e1c","area_id":"300000","region":"\u6c5f\u82cf\u7701","region_id":"320000","city":"\u5357\u4eac\u5e02","city_id":"320100","county":"","county_id":"-1","isp":"","isp_id":"-1","ip":"114.114.114.114"}}

通过http://tool.chinaz.com/Tools/Unicode.aspx把Unicode转换为中文如下:

{"code":0,"data":{"country":"中国","country_id":"CN","area":"华东","area_id":"300000","region":"江苏省","region_id":"320000","city":"南京市","city_id":"320100","county":"","county_id":"-1","isp":"","isp_id":"-1","ip":"114.114.114.114"}}

可以按照需要屏蔽不同的区域。

Tags: 不关站备案