大家好,想问下,如何获取一个服务器的真实IP地址呢?这个服务器是用我自己的电脑搭建的,是通过了路由器的.所以当我用 $_SERVER['SERVER_ADDR']试图获取服务器IP地址时,我只能取到 192.168.1.100 , 这个地址是我路由器的DHCP指派的,而并不是我想要的真实IP地址, 如 82.128.198.235之类的google一大圈了,请问是否这根本就不可能呢?我只能得到192.168.1.100 ?望告知...另外服务器一切都是正常的,有半年多了,外网映射之类的都是好的.

解决方案 »

  1.   

    访问别的网站,比如,http://www.ip138.com/ip2city.asp,http://whatismyip.org/
    从而取得自己外网ip
      

  2.   

    谢了,可是我需要通过php代码来实现,而且是通过crontab来做的,所以访问其他网站这个基本不可行
      

  3.   

    说起来其实挺复杂的,我用自己旧电脑搭的服务器,用的是动态域名.因为我每次重启后IP地址都会变更,甚至有时候突然会自动变更,我写这个程序的目的,就是用crontab每过1分钟自动检测一次IP地址,并且存入数据库,下一分钟再检测时,和数据库里的IP地址比较,如果发现不相同,也就是说IP地址又变了,就自动发个EMAIL给我的邮箱.这样我就可以在公司直接登录那个提供动态域名服务的网站update一下我的IP地址,我的服务器就可以继续使用了.所以通过域名来解析是肯定不行的,因为IP地址变动后那个域名就打不开了,换句话说,如果域名是稳定的,我压根不需要写这个程序....另外顺便请教下,为什么我的IP在开着机的情况下都会变呢?不是每天,大概两三天一次吧,这是为什么?是不是我服务器的问题?我用的ubuntu.还是说就是我的网络提供商的问题?还有就是,有没有更好的解决动态域名的办法?花生壳我试过,但是只要自动变IP后也不行了...
      

  4.   

    代理服务器也有可能起不到隐藏IP的作用,
    一些代理会在协议头上加一个X-Forward-For字段表示用户的真实IP,
    所以用代理的要小心了,不要以为用了代理就一定“安全”了