PHP获取公网IP地址的程序代码

方法1:

获取客户端公网IP地址PHP

 代码如下 复制代码

/**
     * 获取真实IP地址
     */
    function get_real_ip(){
        if ( getenv( "HTTP_CLIENT_IP" ) && strcasecmp( getenv( "HTTP_CLIENT_IP" ), "unknown" ) ){
            $ip = getenv( "HTTP_CLIENT_IP" );
        }else if ( getenv( "HTTP_X_FORWARDED_FOR" ) && strcasecmp( getenv( "HTTP_X_FORWARDED_FOR" ), "unknown" ) ){
            $ip = getenv( "HTTP_X_FORWARDED_FOR" );
        }else if (getenv( "REMOTE_ADDR" ) && strcasecmp( getenv( "REMOTE_ADDR" ), "unknown" ) ){
            $ip = getenv( "REMOTE_ADDR" );
        }else if ( isset( $_SERVER[ 'REMOTE_ADDR' ] ) && $_SERVER[ 'REMOTE_ADDR' ]
            && strcasecmp( $_SERVER[ 'REMOTE_ADDR' ], "unknown" ) ){
            $ip = $_SERVER[ 'REMOTE_ADDR' ];
        }else{
            $ip = "unknown";
        }
        if ( strpos( $ip, ',' ) ){
            $ipArr = explode( ',', $ip );
            $ip = $ipArr[ 0 ];
        }
        return $ip;
}

方法2:

获取IP地址PHP

 代码如下 复制代码
function GetRealIP() {
    static $realip;
 
    if (isset($_SERVER)){
        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
            $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        } else if (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");
        } else if (getenv("HTTP_CLIENT_IP")) {
            $realip = getenv("HTTP_CLIENT_IP");
        } else {
            $realip = getenv("REMOTE_ADDR");
        }
    }
 
    if (strpos($realip, ',') === false) {
            $sUserIp = $realip;         
    } else {
     $arrUserIp = explode(',' , $realip);
     $sUserIp = $arrUserIp[0];
    }
    return $sUserIp;
}

 
两段代码的效果是一样的,不信大家可以试一下了都非常的好用了。

时间: 2024-10-25 14:52:11

PHP获取公网IP地址的程序代码的相关文章

安卓 获取手机IP地址的实现代码

1.获取手机IP地址的代码: public static String getLocalIpAddress(){ try{ for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddress> enu

Linux下获取公网IP地址的方法

  在linux环境渗透时有时因权限或其他原因无法使用ifconfig命令那么就可以用下面的方法查看外网ip 1.如何在LINUX服务器下查看公网IP地址,可以使用下面的方法: curl http://members.3322.org/dyndns/getip 2.在终端中输入 curl ipinfo.io 或者 curl ifconfig.me 即可通过IP地址检测网站提供的api获得取本机的外网IP,或者以 JSON 格式返回全部结果.

iOS获取手机ip地址代码_IOS

本文实例为大家分享了iOS获取手机ip地址的具体代码,供大家参考,具体内容如下 #import <ifaddrs.h> #import <arpa/inet.h> // Get IP Address - (NSString *)getIPAddress { NSString *address = @"error"; struct ifaddrs *interfaces = NULL; struct ifaddrs *temp_addr = NULL; int s

.net获取本机公网IP地址示例

 本文主要介绍了.net获取本机公网IP地址的方法,使用了ip138的数据,大家参考使用吧 代码很简单,直接看代码   代码如下: using System; using System.Net; using System.Text.RegularExpressions;   namespace Keleyi.Com {     public class GetInternetIP     {         public static string GetIP()         {      

java-怎么获取企业内部保留IP地址对应的公网IP地址???

问题描述 怎么获取企业内部保留IP地址对应的公网IP地址??? 最近公司要做一个短信防刷功能,于是我根据每个发短信的客户端的IP地址和手机号码进行限制,每个手机号码和每个IP地址能发送的条数有限制,一旦超限则禁用一段时间,对于请求过于频繁的则拉入黑名单............ 这个构思是很好的,而且我也这么做了,的确有效果!可是问题也随之而来了. 问题是,很多企业或者组织.机构往往是申请了一个或几个公网IP地址,内容使用保留地址,类似100.97.14.12.由于这种保留地址可以被多个组织机构使

java获取客户端请求IP地址 获取公网ip

这几天搞了用java获取ip地址,由于测试方法不对,一直没有成功,昨天终于想通了并不是方法不对,而是我的测试方法不对,下面这个方法,完全可以得到客户端的公网ip地址 但是在测试的时候注意:我用的是weblogic测试的,在我的本机上开启服务,然后访问,由于同在一个局域网,因此下面这个方法返回的ip地址是127.0.0.1,而同在一个局域网的机器访问的时候返回的ip是这台机器的ip地址192.168.1.151,而外网的客户端访问的时候(这里不是说测试服务器可以被外网访问到),返回的ip是外网客户

JSP 获取真实IP地址的代码_JSP编程

但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端.但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息.用以跟踪原有的客户端

javascript获取用户IP地址代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net/ 1999/xhtml"> <head> <meta http-equiv="cont

基本编程技巧之修改MAC和公网IP地址

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 最近本人需要用php写一个模拟程序,该程序需要不断变化公网IP地址,以及修改本机的mac地址. 经过一段时间的研究,我发现了解决之道.在这里将此方法和大家分享,我希望此方法在某时某地能. 对读者有所助益. 一.公网地址 所谓公网地址,是相对内网地址而言.内网地址主要有以下3种 192.168.x.x,10.x.x.x,172.16.x.x格式