判断ip是内网还是外网, 判断请求来之pc还是mobile
判断内网ip
function is_internal_id($ip_address){$get_ip_number = function($ip){$ip_segment = explode('.', $ip);if(!is_array($ip_segment) || count($ip_segment) != 4)return -1;$ip_num = $ip_segment[0] * 256 * 256 * 256 + $ip_segment[1] * 256 * 256 + $ip_segment[2] * 256 + $ip_segment[3];return $ip_num;};$process_ip = $get_ip_number($ip_address);/*** 私有IP:A类 10.0.0.0 -10.255.255.255* B类 172.16.0.0 -172.31.255.255* C类 192.168.0.0 -192.168.255.255* D类 127.0.0.0 -127.255.255.255(环回地址)*/$a_begin = $get_ip_number("10.0.0.0");$a_end = $get_ip_number("10.255.255.255");if($process_ip >= $a_begin && $process_ip <= $a_end)return true;$b_begin = $get_ip_number("172.16.0.0");$b_end = $get_ip_number("172.31.255.255");if($process_ip >= $b_begin && $process_ip <= $b_end)return true;$c_begin = $get_ip_number("192.168.0.0");$c_end = $get_ip_number("192.168.255.255");if($process_ip >= $c_begin && $process_ip <= $c_end)return true;$d_begin = $get_ip_number("127.0.0.0");$d_end = $get_ip_number("127.255.255.255");if($process_ip >= $d_begin && $process_ip <= $d_end)return true;return false;}
PHP 自带判断私有ip 方法
function is_private_ip($ip) { return !filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE);
}
判断Mobile,还是pc
function ismobile() {$is_mobile = '0';if(preg_match('/(android|up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {$is_mobile=1;}if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {$is_mobile=1;}$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));$mobile_agents = array('w3c ','acs-','alav','alca','amoi','andr','audi','avan','benq','bird','blac','blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno','ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-','maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-','newt','noki','oper','palm','pana','pant','phil','play','port','prox','qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar','sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-','tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp','wapr','webc','winw','winw','xda','xda-');if(in_array($mobile_ua,$mobile_agents)) {$is_mobile=1;}if (isset($_SERVER['ALL_HTTP'])) {if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {$is_mobile=1;}}if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {$is_mobile=0;}return $is_mobile;
}var_dump(ismobile());
转载于:https://www.cnblogs.com/luowen/p/4797878.html
判断ip是内网还是外网, 判断请求来之pc还是mobile相关推荐
- IP、内网、外网、私网、公网、子网掩码、默认网关的概念解析
本文梳理一下网络基础中的一些重要概念. 一.IP IP(Internet Protocol,网际互连协议)地址就是给每个连在Internet网的主机分配一个在全世界范围内唯一的标示符,Internet ...
- H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器
H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器 ------------------------------------------------------------ ...
- 11-20什么是内网,外网,局域网,如何判断
内网就是我们平常说的局域网.局域网就是在固定的一个地理区域内由2台以上的电脑用网线和其他网络设备搭建而成的一个封闭的计算机组.它可以是邻居之间的2台电脑,也可以是一幢100层大楼里的1000台电脑.局 ...
- 内网和外网的区别+tcp协议ip协议详解
内网概念 即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的.但两个局域网内的内网IP可以有相同的. (连上WIFI,手机IP一般能在「设置」-「关于手 ...
- IP地址(内网与外网)
什么是内网ip ipv4是目前比较广泛使用的一个版本,它是由32位二进制数组成的,但是ip毕竟是有限的,随着计算机的爆炸性增长和移动网络的普及,ip地址越来越不够用,于是出现了一门技术叫NAT技术,N ...
- 什么是内网和外网?什么是内网IP和外网IP?本地连接和宽带连接又有什么区别?
今天,有很多小伙伴被何为内网外网迷糊?究竟什么是内网?什么是外网?他们又有和区别?还有什么是内网IP和外网IP?本地连接和宽带连接有什么区别?怂怂今天就来给大家科普一下吧: 问题一.何为内外网及定义诠 ...
- 查看服务器的内网及外网IP
原 查看服务器的内网及外网IP 2018年08月08日 13:02:05 阅读数:357 更多 个人分类: 学习笔记 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.c ...
- 99%的人都不知道内网、外网、宽带、带宽、流量、网速之间的区别与联系
大纲结构 一.带宽与宽带的区别是什么? 带宽是量词,指的是网速的大小,比如1Mbps的意思是一兆比特每秒,这个数值就是指带宽. 宽带是名词,说明网络的传输速率很高 .宽带的标准各不相同,最初认为128 ...
- mac电脑连接内网和外网的方法(添加路由)
mac电脑连接内网和外网的方法 172.21.0.0网段的IP走172.21.218.1网关(路由器) 192.168.0.0网段的IP走10.172.224.221网关(路由器) 这样设置就不用改变 ...
- 内网和外网的区别是什么?
内网和外网的区别重要依据主要是判断它是不是与广阔的外界相连. 内网和外网最大的区别 内网IP局域网,网线都是连接在同一个 交换机上面的,也就是说它们的IP地址是由交换机或者路由器进行分配的.而且每一个 ...
最新文章
- 判断一个点是否在RotatedRect中
- 导致甲骨文裁员的原因有哪些?
- Vbs脚本编程简明教程之十
- java中abstract,interface,final,static的区别
- 简洁的导出 datatable到excel,不用组件
- Triangular Sums http://acm.nyist.net/JudgeOnline/problem.php?pid=122
- 用react-service做状态管理,适用于react、react native
- 网络编程释疑之:单台服务器上的并发TCP连接数可以有多少
- Spring Boot –使用执行器端点在运行时配置日志级别
- x210 debug口当普通串口使用
- 怎么知道自己是否适合计算机专业,事实:我怎么知道我的旧计算机是否适合win7或win10?...
- linux音频alsa驱动分析之一(over-view)
- ⑥tiny4412 Linux驱动开发之LCD(framebuffer)驱动程序
- Turbo编码原理及基本概念
- QTcpServer和QTcpSocket使用详解
- html 前端分页代码怎么写,纯JavaScript实现的前端分页代码
- MATLAB | 画彩色图像的直方图,改对比度,计算均值、方差和信息熵
- 生活点滴记录-- 两点一线
- 修改导航栏的背景色和字体颜色
- 对计算机应用领域的CAE,我对CAE的了解和想要进行研究的方面
热门文章
- ZZULI-2019年3月份月赛(个人赛)问题 I: 小P找座位 思维or矩阵快速幂
- 登录功能实现账号锁定
- 关于java.util.concurrent.RejectedExecutionException: event executor terminated
- 2020面试自动化测试面试题【含答案】
- QGis二次开发基础 -- 构建图层管理器
- c语言文件合并,c++实现合并文件以及拆分实例代码
- sql server 2008 R2 与 sql server 2012 下载地址(包括x86、x64)
- 分享给你——2017我学到的方法论
- Comparable Comparator
- 1200000有多少个约数