2011-10-06 19 views
9
  1. 私の開発マシンでHttpContext.Current.Request.UserHostAddressがnullです。 なぜですか?どうすればそれをオンにすることができますか?
  2. プロキシクライアントの場合、どのようにしてIpsのリストを取得できますか?

ASP.netでのWCFサービス4 window7。あなたが最後entery IPのためHTTP_X_FORWARDED_FORを解析することができ、この問題を回避するためにHttpContext.Current.Request.UserHostAddressがnullです

おかげ

+0

役立ちますが、カッシーニは、何らかの理由で、今「:: 1」を返します。 –

+0

@DoozerBlake :: 1はIPv6のバージョン127.0.0.1です。出典:http://stackoverflow.com/a/4611421/84395 –

答えて

6

ip=Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ; 
if (!string.IsNullOrEmpty(ip)) 
{ 
    string[] ipRange = ip.Split(','); 
    int le = ipRange.Length - 1; 
    string trueIP = ipRange[le]; 
} 
else 
{ 
    ip=Request.ServerVariables["REMOTE_ADDR"]; 
} 

・ホープ、この意志はあなたは私が空/ヌルを取得することはありません

+3

「ウイルス性サルヴァイア」の答えについてのちょっとメモ。 [Wikipedia](http://en.wikipedia.org/wiki/X-Forwarded-For)と[Amazon](http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html)によると、 )X-Forwarded-Forヘッダのフォーマットは次のとおりです:> X-Forwarded-For:client、proxy1、proxy2これは最後のものではなく、 'ipRange'の最初の文字列を使うべきであることを意味します。 – dubrowgn

関連する問題