asp.net如何获取IP,第1张

在ASP中使用 RequestServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。

要想透过代理服务器取得客户端的真实IP地址,就要使用 RequestServerVariables("HTTP_X_FORWARDED_FOR") 来读取。

不过要注意的事,并不是每个代理服务器都能用 RequestServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的IP。

还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 RequestServerVariables ("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:

userip = RequestServerVariables("HTTP_X_FORWARDED_FOR")

If userip = "" Then userip = RequestServerVariables("REMOTE_ADDR")

//方法一

HttpContextCurrentRequestUserHostAddress;

//方法二

HttpContextCurrentRequestServerVariables["REMOTE_ADDR"];

//方法三

string strHostName = SystemNetDnsGetHostName();

string clientIPAddress = SystemNetDnsGetHostAddresses(strHostName)GetValue(0)ToString();

//方法四(无视代理)

HttpContextCurrentRequestServerVariables["HTTP_X_FORWARDED_FOR"];

客户端:

//方法五

var ip = '<!--#echo var="REMOTE_ADDR"-->';

alert("Your IP address is "+ip);

//方法六(无视代理)

function GetLocalIPAddress()

{

var obj = null;

var rslt = "";

try

{

obj = new ActiveXObject("rcbdyctlSetting");

rslt = objGetIPAddress;

obj = null;

}

catch(e)

{

//

}

return rslt;

}

来自印度的MCT Maulik Patel提供了一种服务端的解决方案,很好:

if(ContextRequestServerVariables["HTTP_VIA"]!=null) // 服务器, using proxy

{

得到真实的客户端地址

ip=ContextRequestServerVariables["HTTP_X_FORWARDED_FOR"]ToString(); // Return real client IP

}

else//如果没有使用代理服务器或者得不到客户端的ip not using proxy or can't get the Client IP

{

得到服务端的地址

ip=ContextRequestServerVariables["REMOTE_ADDR"]ToString(); //While it can't get the Client IP, it will return proxy IP

}

有些客户端会因为“header_access deny”的安全设置而不发给我们Ip

ID 地址 端口 类型 地区 验证时间 响应 WHOIS

1 2121218570 8080 HTTP 沙特阿拉伯 ProxyCN 01-25 22:29 0046 whois

2 219835118 3128 HTTP 印度尼西亚 ProxyCN 01-25 22:27 0127 whois

3 195128166146 3128 HTTP 欧洲 ProxyCN 01-25 22:18 0497 whois

4 2013720743 8080 HTTP 美国 中部/南部(IANA) 01-25 22:10 0722 whois

5 200233185219 3128 HTTP 巴西 圣保罗 01-25 22:12 0776 whois

6 202166162210 80 HTTP 巴基斯坦 ProxyCN 01-25 22:15 0918 whois

7 20214622585 80 HTTP 印度尼西亚 ProxyCN 01-25 22:03 0932 whois

8 2222375145 8080 HTTP 韩国 ProxyCN 01-25 22:15 0973 whois

9 2009319058 8080 HTTP 委内瑞拉 ProxyCN 01-25 22:14 0978 whois

10 2022334933 80 HTTP 日本 ProxyCN 01-25 22:08 0979 whois

11 195116604 3128 HTTP 波兰 ProxyCN 01-25 22:33 0980 whois

12 20215013284 8080 HTTP 印度尼西亚 ProxyCN 01-25 22:19 0981 whois

13 20020916561 6588 HTTP 巴西 圣保罗 01-25 22:12 0984 whois

14 20014217762 6588 HTTP 巴西 圣保罗 01-25 22:14 0986 whois

15 2102369053 8080 HTTP 日本 ProxyCN 01-25 22:03 0986 whois

16 21361120101 80 HTTP 德国 ProxyCN 01-25 22:31 0990 whois

17 2021451087 8888 HTTP 印度尼西亚 ProxyCN 01-25 22:24 0990 whois

18 2119159121 80 HTTP 日本 ProxyCN 01-25 22:03 0993 whois

19 21025118055 80 HTTP 日本 ProxyCN 01-25 22:03 0994 whois

20 602819637 80 HTTP 天津市 网通ADSL 01-25 22:14 0995 whois

21 2133319767 80 HTTP 俄罗斯 ProxyCN 01-25 22:31 0996 whois

22 2002135134 80 HTTP 巴西 圣保罗 01-25 22:15 0996 whois

23 6191190249 80 HTTP 泰国 ProxyCN 01-25 22:02 0996 whois

24 21212123558 3128 HTTP 西班牙 ProxyCN 01-25 22:31 0998 whois

25 200168132173 6588 HTTP 巴西 圣保罗 01-25 22:14 0999 whois

26 211100197 8080 HTTP 北京市 ProxyCN 01-25 22:03 0999 whois

27 21123341135 80 HTTP 韩国 ProxyCN 01-25 22:03 0999 whois

28 684626123 8080 HTTP 美国 Comcast有线网用户 01-25 22:29 1000 whois

29 21910623134 8080 HTTP 日本 东京 01-25 22:28 1000 whois

30 706618201 80 HTTP 加拿大 ProxyCN 01-25 22:22 1000 whois

31 195203236 8080 HTTP 英国 ProxyCN 01-25 22:18 1000 whois

32 19511210874 8080 HTTP 俄罗斯 ProxyCN 01-25 22:18 1000 whois

33 6119144104 80 HTTP 泰国 ProxyCN 01-25 22:26 1001 whois

34 60176164240 8080 HTTP 浙江省杭州市 电信ADSL 01-25 22:24 1001 whois

35 697922746 6588 HTTP 美国 ProxyCN 01-25 22:22 1001 whois

36 80237146141 3128 HTTP 英国 德文郡 普里茅斯 01-25 22:21 1001 whois

37 2219021023 8080 HTTP 日本 ProxyCN 01-25 22:17 1001 whois

38 20153109243 6588 HTTP 美国 中部/南部(IANA) 01-25 22:10 1001 whois

39 20381198155 8080 HTTP 巴基斯坦 ProxyCN 01-25 22:08 1001 whois

40 19620992188 8080 HTTP 南非/加勒比 ProxyCN 01-25 22:17 1002 whois

41 5914412570 6588 HTTP 印度 BHARTI网络 01-25 22:27 1003 whois

42 218613039 80 HTTP 四川省南充市 电信 01-25 22:22 1003 whois

43 2001013418 3128 HTTP 巴西 圣保罗 01-25 22:14 1003 whois

44 2017250122 3128 HTTP 巴西 圣保罗 01-25 22:11 1004 whois

45 201491118 8080 HTTP 美国 中部/南部(IANA) 01-25 22:10 1007 whois

46 612326143 8080 HTTP 江苏省苏州市 铁通 01-25 22:21 1009 whois

47 172187135200 6588 HTTP 美国 ProxyCN 01-25 22:18 1009 whois

48 20217595188 8080 HTTP 澳门 新桥区/新口岸 01-25 22:14 1010 whois

49 21813313216 8080 HTTP 日本 ProxyCN 01-25 22:28 1054 whois

50 20313890141 80 HTTP 日本 ProxyCN 01-25 22:08 1859 whois

印度尼西亚当地的电信基础设施发展并不是很发达,这个国家里最优质的机房带宽资源集中在雅加达这座城市,所以选择印度尼西亚云服务器就选择雅加达地区的机房。

国内能够提供印度尼西亚云服务器的供应商有很多,可以百度搜索一下。但是也正是因为资源良莠不齐,尤其是印度尼西亚云服务器资源,在购买的时候一定要问清楚服务器的具体机房地址,或者是用测试ip试一下。

现在世界上大多数的科技公司都认为印度是一个巨大的市场,印度的数据中心能很快的成长起来也跟各大科技巨头纷纷进军印度市场离不开关系。所以,在南亚地区,印度的网络资源算是这几个国家当中较好的。

印度服务器租用的价格算是比较实惠的,硬件成本是印度服务器租用价格的大头。

服务器硬件包括:CPU、硬盘、内存、主板、电源和机箱,主要是前四项的成本。

每一项选择的配置不同,价格就会有所不同,就比如CUP等级越高,内存硬盘越大,价格越高。

当然很多idc服务商的这些配置都是可以灵活搭配的,不同的配置一般都会有相应的报价,每一种配置的价格只要去官网一看便知。

这里要提醒一句,硬件可是实打实的,千万不能在这里省钱,一般来说价格越高对应的配置越高,钱就得花在刀刃上。

你需要租用印度网站服务器,一个域名。推荐Bluehost的印度虚拟主机。

http://cnbluehostcom/web-hosting/indexphp

当然,云主机也是有的:

云主机相对虚拟主机更加的安全可靠,有3个不同地区的镜像。

http://cnbluehostcom/cloudhostingphp

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » asp.net如何获取IP

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情