我的web服务器在硬件防火墙下,我获取不到客户端IP怎么办? 每次获取的都是防火墙的IP,拆掉防火墙就可以获取客户端IP,怎么办啊?防火墙是不是哪设置的不对呢?获取IP用了什么协议了? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/t/20001209/11/46829.html你可以看看大家的说法 asp.net能做的事太少了,取不到它就没办法了. 怎么添加例外?防火墙现在只开了HTTP的规则 这是我获取IP的代码:public static string IPAddress { get { string result = String.Empty; result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if(result!=null&&result!= String.Empty) { //可能有代理 if(result.IndexOf(".")==-1) //没有“.”肯定是非IPv4格式 result = null; else { if(result.IndexOf(",")!=-1) { //有“,”,估计多个代理。取第一个不是内网的IP。 result = result.Replace(" ","").Replace("'",""); string[] temparyip = result.Split(",;".ToCharArray()); for(int i=0;i<temparyip.Length;i++) { if(IsIPAddress(temparyip[i]) && temparyip[i].Substring(0,3)!="10." && temparyip[i].Substring(0,7)!="192.168" && temparyip[i].Substring(0,7)!="172.16.") { return temparyip[i]; //找到不是内网的地址 } } } else if(IsIPAddress(result)) //代理即是IP格式 return result; else result = null; //代理中的内容 非IP,取IP } } string IpAddress = (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null && HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] !=String.Empty)?HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]:HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; if (null == result || result == String.Empty) result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; if (result == null || result == String.Empty) result = HttpContext.Current.Request.UserHostAddress; return result; } } 跪求答案:gridview内嵌linkbutton的问题 急急急急急!!!!!!!! GridView 模板列中放了 微软自带的 FileUpload控件 数据表 怎么使从数据库里央的数据读来来随面更换顺序 ASP.NET程序在IIS运行不了,错误是:“/”应用程序中的服务器错误。 关于Web服务的性能监控软件 如何使链接按了以后变成光标形式 请给一个例子示范,谢谢!! IIS 一段时间以后 aspx页面无响应 出此错误怎么办? 。。。一个让我心凉了半截的问题、。。 倾家荡产给分,在线编辑自定义反馈表
asp.net能做的事太少了,取不到它就没办法了.
public static string IPAddress
{
get
{
string result = String.Empty; result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if(result!=null&&result!= String.Empty)
{
//可能有代理
if(result.IndexOf(".")==-1) //没有“.”肯定是非IPv4格式
result = null;
else
{
if(result.IndexOf(",")!=-1)
{
//有“,”,估计多个代理。取第一个不是内网的IP。
result = result.Replace(" ","").Replace("'","");
string[] temparyip = result.Split(",;".ToCharArray());
for(int i=0;i<temparyip.Length;i++)
{
if(IsIPAddress(temparyip[i])
&& temparyip[i].Substring(0,3)!="10."
&& temparyip[i].Substring(0,7)!="192.168"
&& temparyip[i].Substring(0,7)!="172.16.")
{
return temparyip[i]; //找到不是内网的地址
}
}
}
else if(IsIPAddress(result)) //代理即是IP格式
return result;
else
result = null; //代理中的内容 非IP,取IP }
} string IpAddress = (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!=null && HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] !=String.Empty)?HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]:HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
if (null == result || result == String.Empty)
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
if (result == null || result == String.Empty)
result = HttpContext.Current.Request.UserHostAddress; return result;
}
}