ユーザーのリモート IP アドレスを見つける必要がある ASP.NET プロジェクトに取り組んでいます。私は周りを検索しましたが、これを見つけました:
Request.ServerVariables["REMOTE_ADDR"]
問題は、「::1」のみが返され、IP アドレスが返されないことです。ローカル サーバーを使用しているために問題が発生する可能性はありますか?
途中に多数のプロキシサーバーが存在する可能性があるため、ユーザーIPアドレスを取得するための防弾方法はありません。受け取った結果はローカルホストに対して正しいですがREMOTE_ADDR
、クライアントが外部から来た場合、リストの最後のプロキシを返します。実際のIPアドレスを含む可能性のあるHTTPヘッダーのリストがありますが、それらも偽造できます。詳細については、次のブログ投稿を読むことができます(コメントも読む必要があります)。
はい、ローカルサーバーを使用しているためです。
アドレス"::1"
はのIPv6アドレスですlocalhost
。