获取内网IP地址
如果要查询电脑的内网IP地址,在终端cmd用命令
ipconfig /all
就可以查询到了。
获取外网IP地址
如果要查询电脑的外网IP地址,一般的做法都是通过百度搜索引擎搜索”IP”关键词得到结果。不过,这种通过百度出来的IP地址,很多时候是不准确的,即使IP最后段位的一字之差也是致命错误。
代码获取访问者真实IP
我们编写好一段判断是未知IP还是已知IP的代码,进行测试的时候就需要知道电脑的真实外网IP了。而根据我的经验讲,上图百度出来的IP很多时候最后一段是有误差的,具体什么原因不清楚,同时也遇到过本地电脑在科学上网时造成本机外网IP地址的不清不楚。
此时,就需要在你测试代码的服务器端,创建个文件,写入一段判断访问者IP地址的代码了就可以了,无论什么原因它都可以获取并且输出真实访问的IP地址了。所谓活学活用,至于为什么判断IP地址相信同行人都懂的。。。
<?php function get_real_ip() { $ip=false; //客户端IP 或 NONE if (!empty($_SERVER["HTTP_CLIENT_IP"])) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } //多重代理服务器下的客户端真实IP地址(可能伪造),如果没有使用代理,此字段为空 if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = explode(", ", $_SERVER['HTTP_X_FORWARDED_FOR']); if ($ip) { array_unshift($ips, $ip); $ip = false; } for ($i = 0; $i < count($ips); $i++) { if (!eregi("^(10│172.16│192.168).", $ips[$i])) { $ip = $ips[$i]; break; } } } //客户端IP 或 (最后一个)代理服务器 IP return ($ip ? $ip : $_SERVER['REMOTE_ADDR']); } echo get_real_ip();
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)