php获取真实内网IP方法

function getIP() {
    if (isset($_SERVER)) {
        if (isset($_SERVER["HTTP_CDN_SRC_IP"])) {
            $realip = $_SERVER["HTTP_CDN_SRC_IP"];
        } else if (isset($_SERVER[‘HTTP_X_FORWARDED_FOR‘])) {
            $realip = $_SERVER[‘HTTP_X_FORWARDED_FOR‘];
        } elseif (isset($_SERVER[‘HTTP_CLIENT_IP‘])) {
            $realip = $_SERVER[‘HTTP_CLIENT_IP‘];
        } else {
            $realip = $_SERVER[‘REMOTE_ADDR‘];
        }
    } else {
        if (getenv("HTTP_X_FORWARDED_FOR")) {
            $realip = getenv("HTTP_X_FORWARDED_FOR");
        } elseif (getenv("HTTP_CLIENT_IP")) {
            $realip = getenv("HTTP_CLIENT_IP");
        } else {
            $realip = getenv("REMOTE_ADDR");
        }
    }
    //如果是代理服务器,有可能返回两个IP,这是取第一个即可
    if (stristr($realip, ‘,‘))
        $realip = strstr($realip, ‘,‘, true);
    return (str_replace(‘#‘, ‘‘, $realip));
}

  

时间: 2024-10-27 13:21:42

php获取真实内网IP方法的相关文章

js获取设备内网ip

可以直接使用,不需要导入其他配置 看代码 1 <script> 2 //获取内网ip 3 var RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection; 4 if (RTCPeerConnection) ( 5 function () { 6 var rtc = new RTCPeerConnection({iceServers:

通过js获取计算机内网ip,计算机名,mac地址

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta http-equiv="

内网渗透技巧:判断机器真实外网IP的5种方法总结

在内网渗透中有时需要在某台WEB服务器中留下后门,该机器可以通过内网IP建立IPC连接,但还需要获知外网IP或域名才能访问Wbshell,在无网关权限的情况下,我总结了有如下方法: 1.通过nslookup访问外部地址 回显IP nslookup myip.opendns.com resolver1.opendns.com 但多数内网都是统一的出口流量 2.查看dns缓存 如果某站点频繁被访问 相关记录可能会出现在缓存里 ipconfig /displaydns 3.如果是IIS7 IIS7.5

根据Request获取客户端IP 内网IP及外网IP

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemoteAddr() 方法获取的IP地址是:127.0.0.1 或 192.168.1.110 ,而并不是客户

Python获取内网IP

Python 获取本机内网IP 本文记录使用Python获取本机IP的两种方法. 通过hostname来获取本机IP import socket print(socket.gethostbyname(socket.gethostname())) 此方法是先获取hostname,然后在通过hostname来查看本机的IP.不推荐此方法,因为若是在/etc/hosts中将hostnam设置为127.0.0.1,那么获取到的就是127.0.0.1,而非本机的真实IP. 通过UDP获取本机IP impo

nodejs中获取内网ip地址

今天同事有个需求,希望用nodejs里的web服务器的对应的站点可以支持内网访问,后来发现修改express里的hostname属性为自己的内网ip就可以了.但是问题是,我们的机器都是自动获取内网ip,那么这次写死的hostname下次基本上就不能用了,于是我们想到了在nodejs里动态获取内网ip,并且把值赋给express的open方法就可以了,于是我按照这个思路开工了. 我们先了解怎么获取内网ip,网上的通用方法我试了下,在我机器里是无效的,调试了下才发现了它这个不是完全通用的,于是我针对

获取本机外网ip和内网ip

获取本机外网ip 1 //获取本机的公网IP 2 public static string GetIP() 3 { 4 string tempip = ""; 5 try 6 { 7 WebRequest request = WebRequest.Create("http://ip.qq.com/"); 8 request.Timeout = 10000; 9 WebResponse response = request.GetResponse(); 10 Stre

C#取得内网IP、外网IP、客户端IP方法

前言 在 Windows Form Application 里对于取得 IP Address 有内网.外网两种 IP Address ,如果只需要取得内网 IP Address ,可以透过使用 IPHostEntry 类别取得,而外网的话就必须要发送一个 Request 到一个可以取得 IP Address 的网站后再分析 Response 的内容,这个网站可以自己做或者使用现成的,如 http://www.whatismyip.com.tw/ . 另外,在使用 Socket 通讯的情况下,也有

vue实现获取内网ip和外网ip

1.内网IP 注意:有的浏览器获取到的是IPv4地址,有的是IPv6地址 <template> <section class="p-10"> <h1>{{ ip }}</h1> </section> </template> <script> export default { data() { return { ip: '' }; }, methods: { getUserIP(onNewIP) { le