全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2620|回复: 13

[Windows VPS] 我网站想北岸,但是不想关站,怎么只屏蔽本地的IP访问。

[复制链接]
发表于 2013-7-27 12:24:53 | 显示全部楼层 |阅读模式
我网站想北岸,但是不想关站,怎么做能屏蔽本地区的IP访问。
发表于 2013-7-27 13:19:36 | 显示全部楼层

代码适用于PHP程序,如下代码保存为shielded.php文件并放置到网站根目录:
  1. <?php
  2. header("Content-type: text/html; charset=utf-8");
  3. $verification = '浙江省';//需要屏蔽省份的IP
  4. $ip = $_SERVER['REMOTE_ADDR'];//获取访客IP
  5. $antecedents = $_SERVER['HTTP_REFERER'];//访客来路地址
  6. $result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);
  7. $address = json_decode($result,true);
  8. if($address['data']['region'] == $verification && strpos($antecedents, 'baidu') === false && strpos($antecedents, 'google') === false)
  9. //判断访客是否属于浙江省,是否来自百度,是否来自谷歌
  10. {
  11. Header("HTTP/1.1 403 Forbidden");
  12. exit;
  13. }
  14. ?>
复制代码
对于大多数网站而言,只要在所有页面都会调用的公用文件,比如页头、页尾的php文件中引入shielded.php,而在wordpress程序中,进入后台->外观->编辑->选择header.php文件,在最前面加入如下代码:
  1. <?php require('shielded.php');?>
复制代码
然后就可以了。。。记得关闭缓存插件。。。

点评

感谢大牛,收藏了!  发表于 2013-7-27 18:00
发表于 2013-7-27 12:26:05 | 显示全部楼层
那还不简单?直接屏蔽你想屏蔽地区的所有IP段,不就哦了,可以在防火墙策略里屏蔽
 楼主| 发表于 2013-7-27 12:30:01 | 显示全部楼层
heiren 发表于 2013-7-27 12:26
那还不简单?直接屏蔽你想屏蔽地区的所有IP段,不就哦了,可以在防火墙策略里屏蔽 ...

有没有教程。
发表于 2013-7-27 13:52:55 | 显示全部楼层
过客 发表于 2013-7-27 13:19
代码适用于PHP程序,如下代码保存为shielded.php文件并放置到网站根目录:对于大多数网站而言,只要在所 ...

好人啊
发表于 2013-7-27 14:09:24 | 显示全部楼层
域名智能解析
发表于 2013-7-27 14:59:36 | 显示全部楼层
哪那么麻烦,买一个月的分省解析服务就搞定
 楼主| 发表于 2013-7-27 17:34:22 | 显示全部楼层
过客 发表于 2013-7-27 13:19
代码适用于PHP程序,如下代码保存为shielded.php文件并放置到网站根目录:对于大多数网站而言,只要在所 ...


$verification = '浙江省';//需要屏蔽省份的IP
这里怎么填屏蔽省份的IP?
去哪里找?

点评

直接填写你要屏蔽省份名称即可。  发表于 2013-7-28 13:29
发表于 2013-7-27 17:56:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-6-15 06:18 , Processed in 0.071768 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表