クライアントマシンのIPアドレスをC#で取得するにはどうすればよいですか? 私はC#を使用するクライアントIP
アドバンス....私のオンラインアプリケーションのログレジスタを維持するために、私は、クライアントのIPアドレスを取得したいロギングシステムのIPアドレスを維持したいのおかげで...
クライアントマシンのIPアドレスをC#で取得するにはどうすればよいですか? 私はC#を使用するクライアントIP
アドバンス....私のオンラインアプリケーションのログレジスタを維持するために、私は、クライアントのIPアドレスを取得したいロギングシステムのIPアドレスを維持したいのおかげで...
HttpContext.Current.Request.UserHostAddress
このプロキシを考慮に入れません。そのためには、Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
を使用できます。しかし、それが偽造されている可能性があるので、それを盲目的に信頼していないことを確認してください。信頼できるIPのホワイトリストを保持する方が良いでしょう。
String clientIP =
(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]==null)?
HttpContext.Current.Request.UserHostAddress:
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
Wikipedia [注記](http://en.wikipedia.org/wiki/X-Forwarded-For)では、このヘッダーの値は偽である可能性があります。したがって、信頼できるIPのホワイトリストを保持する方が安全です。 –
String clientIP = HttpContext.Current.Request.ServerVariables ["HTTP_X_FORWARDED_FOR"] ?? HttpContext.Current.Request.UserHostAddressこれは読みにくいですか? +1プロキシチェックのための1つ – naveen
確かにそれはより読みやすいですが、私は.NetバージョンOPが使用しているか分からなかった。 – Chandu
クライアントの接続方法サーバーのホスティングは何ですか? ASP.NET? WCF?いつか? – blowdart
@blowdart:ASP.NET – Nithesh
可能な複製http://stackoverflow.com/questions/735350/how-to-get-users-client-ip-address-in-asp-net –