来自网站的客户机的私有IP

时间:2011-02-02 04:52:32

标签: asp.net

亲爱的所有人,我在 ASP.Net C#?中如何从公共IP 托管的网站获取客户端系统的私有IP userhostname ,它显示的是Internet连接的全局IP,它对于网络中的所有计算机都是相同的。请指教。

先谢谢

Anoop George Thomas

2 个答案:

答案 0 :(得分:4)

简短的回答是否定的,不是来自服务器端。您可以编写查找系统实际IP地址的客户端代码,但您可能需要通过浏览器插件来执行此操作。

更好的问题是“你为什么要这样做?”通常,如果您必须拥有内部IP,那么您做错了。

答案 1 :(得分:2)

不幸的是,这不是你能够拉的东西。

现在,您可以获取通过代理或其他类似转发设备的机器的IP。这是一个使用HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR IP的示例函数,如果它们在您的服务器环境中可用。

<?php

function getIP(){
    if (!empty($_SERVER['HTTP_CLIENT_IP'])){
      $ip = $_SERVER['HTTP_CLIENT_IP'];
    }else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
      $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }else{
      $ip = $_SERVER['REMOTE_ADDR'];
    }

    return $ip;
}


echo getIP();

?>