屏蔽ip段访问 html,php屏蔽ip、ip段、省份地区的访客
实际应用中需要屏蔽一些不友好的访客,可针对这部分访客进行单独IP屏蔽、指定IP段屏蔽、指定地区屏蔽。
代码如下:
header("content-Type: text/html; charset=utf-8");
// 获取访客IP
function getIP(){
global $ip;
if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else $ip = "Unknow";
return $ip;
}
//根据blockip.txt禁用ip地址及对应ip段
$ip=getIP();
while($ip[count($ip-1)]!='.')$ip=substr($ip,1, -1); //整理出ip段 ,如只需ip,可删除此行
$ban=file_get_contents("blockip.txt");
if(stripos($ban,$ip))
{
echo "document.writeln(\"\");";
}
//将IP转化城市
$getIp = getIP();
$content = file_get_contents("http://api.map.baidu.com/location/ip?ak=百度地图应用的ak秘钥&ip={$getIp}&coor=bd09ll");
$json = json_decode($content);
$city = $json->{'content'}->{'address'};//按层级关系提取address数据
//根据访问用户所在城市屏蔽
if(strpos($city,'北京')!==false||strpos($city,'广东')!==false||strpos($city,'浙江')!==false||strpos($city,'陕西')!==false)
{
echo "document.writeln(\"\");";
exit;
}
?>
blockip.txt文件内容:
BEGIN:
127.0.0.1
ip一行一个,如果启用屏蔽ip段,那么此ip对应的127.0.0段将被屏蔽
百度地图的AK秘钥申请:http://lbsyun.baidu.com/apiconsole/key?application=key
屏蔽ip段访问 html,php屏蔽ip、ip段、省份地区的访客相关推荐
- 设定时间段内同一IP的访问次数限制和同一IP的操作次数限制
设定时间段内同一IP的访问次数限制: 主要使用httpservlet和timer task来记录并且运行定时(时间段比如60s)访问次数(比如最大为10),然后超出则抛出异常. 同一IP的操作次数限制 ...
- springboot应用本地ip能访问,局域网下ip不能访问,处理
问题: 启动 springboot 应用后发现 本地ip能直接访问,但是局域网下其他电脑却不能访问,那么一看就知道是 防火墙问题了, 那么如何设置呢? 打开 windows 防火墙 -> 允许应 ...
- Nginx限制或允许IP或IP段访问
一.环境说明 终端 IP Nginx(网站) 192.168.0.101 用户1 192.168.0.104 用户2 192.168.0.100 测试网站地址:192.168.0.101,正常不做限制 ...
- localhost可以访问 ip不能访问_为啥用 ip 不可以访问知乎,而百度却可以?
(给算法爱好者加星标,修炼编程内功) 作者:帅地 (本文来自作者投稿) 我们先来ping知乎的域名,然后可以得到响应的服务器的ip, 之后我们用浏览器来访问这个ip,结果如下 被拒绝访问了. 而用ip ...
- 独立IP、特产浏览量(PV)、访问次数(VV)、独立访客(UV)有什么区别?
转自 http://blog.sina.com.cn/s/blog_a5fc76bb0101073a.html 访问次数(VV):记录所有访客1天内访问了多少次您的特产,相同的访客有可能多次访问您的特 ...
- 网站统计中的PV(访问量):UV(独立访客):IP(独立IP)的定义与区别
--------首先来看看ip.uv和pv的定义---------- PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次. UV(独立访客):即Unique Vis ...
- html页面跳转IP,JS获取访客IP进行自动跳转
因业务需要进行地区判断跳转指定站点,下面是我个人实现的办法,分享给大家,仅供参考,切勿做非法用途 第一步,获取IP并判断归属地 直接使用搜狐的IP库查询接口 返回的地址是: var returnCit ...
- python 通过ip获取城市_python中通过客户端IP拿到所在城市和当地天气信息—附带项目案例...
首先,需求分析: 1.拿到客户端IP 2.通过IP拿到客户端所在地区 3.通过地区拿到当地天气 4.整合功能,展示给用户 第一步,如何拿到用户IP 我们以Django环境为例 # 客户端的请求,IP信 ...
- Hive经典面试题——级联求和(访客访问统计报表)
在大数据面试中,Hive知识的考察大部分会问级联求和,业务场景虽然有很多种,比如说,年收入,月收入统计:访客访问次数年统计,月统计.等等.但是基本根源知识是级联求和,本文就以访客访问统计为例. 1.基 ...
最新文章
- Nginx负载均衡集群介绍
- Django的类视图和中间件
- Angular zone学习笔记
- 在Ant的javac中指定源文件编码方式,以避免警告: 编码 GBK 的不可映射字符的错误...
- SpringSecurity-1-UserDetailsService接口
- 试题17 方程的解(枚举法)
- STM32F4 LTDC学习
- display:block jquery.sort()
- 使用frp通过ssh访问公司内网机器
- NPS 3.0:净推荐值的补充性财务指标 - 赢得性增长率(EGR)
- 未来教育二级c语言的答案库在哪里,未来教育计算机二级c语言题库
- DELL EMC Isilon配额Quota
- arcmap武汉市各个行政区域的森林覆盖率和水体覆盖率
- 在Windows平台上使用Git和pathogen管理gVim插件
- App和小程序开发成本对比
- 声明$(function(){})的含义
- 雄厚实力的企业支持,是拍账王品牌前进发展的根基
- SQL Server 为视图或函数 指定的列名比其定义中的列多
- InstallShield自定义对话框浅谈(转)
- Android桌面布局