###前提・実現したいこと
asp.net 4.0で掲示板のようなものを作っています。
ログとして、投稿者のIPアドレスを取得しようとしています。
IPv4は取得できるのですが、IPv6が取得できません。
ネットで調べてみると、IPv4を取りたいのに、IPv6が返ってきてしまうというのはよくあるのですが、私の場合は逆です。
どうやったら、IPv6のアドレスが取得できるのでしょうか?
また、プロキシサーバーを介すと、元のアドレスでもなく、プロキシのアドレスでもないIPを取得してしまいます。(ネットで見つけたソースでは、これで元のアドレスが取れるらしいのですが)
よろしくお願いします。
###ソースコード
asp.net
1ipV6 = Request.ServerVariables["REMOTE_ADDR"]; 2//これでIPv4が取れてしまいます。 3 4if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null && Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "") 5 { 6 ipV4 = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); 7 8 ipV4 = strIPV4.Split(',').GetValue(0).ToString().Trim(); 9 } 10 else 11 { 12 ipV4 = Request.UserHostAddress; 13 } 14 15 if (ipV4 != "::1") 16 { 17 ipV4 = ipV4.Split(':').GetValue(0).ToString().Trim(); 18 } 19//これで、元のIPでもなく、プロキシのIPでもないIPが取得されます。 20
###補足情報(言語/FW/ツール等のバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/23 11:05