dポイントプレゼントキャンペーン実施中!

初めてこちらに投稿致します。宜しくお願い致します。

C# ASP.NETで外部公開向けのWebサイトを開発しておりますが、
あるページを見にきたユーザーが、どこの国からアクセスしに来られたのかを調査する仕組みを機能追加する事になりました。
開発に費用を掛けられない事から、IPアドレスの範囲/割当国の一覧のCSVを入手し、これに対して対象ページ表示時にIPアドレスを取得し、
このCSV(DB化します)とぶつけて、国名を割り出そうと進めております。
ご質問したいのが、そもそも取得すべきIPアドレスは、グローバルIPアドレスが必要なのでしょうか?
ネットで検索してみますと、クライアントのIPアドレスを取得する方法は多数紹介されていますが、こちらのIPアドレスを使用するのでしょうか?
基本的な質問になってしまいますが、ご教示お願い致します。
また、上記対応方法で何かサンプル等ご紹介されているようなのが、ございましたら併せてご教示お願い申し上げます。

A 回答 (1件)

ASP.NET使ったコトありませんけど…。


# というかサーバサイドとかやったこともない。

>C# ASP.NETで外部公開向けのWebサイトを開発しておりますが

外部公開向けなのですから、接続してくるのはグローバルIPアドレスを持ったものから…ということになりますよね?
# メンテナンスなどでLAN内からのアクセスはあるのかも知れませんが。

ということで…
>そもそも取得すべきIPアドレスは、グローバルIPアドレスが必要なのでしょうか?
そうなるでしょうね。

>ネットで検索してみますと、クライアントのIPアドレスを取得する方法は多数紹介されていますが、こちらのIPアドレスを使用するのでしょうか?

他にIPアドレスの取得方法があれば別ですが……。
なお、プロクシ経由だった場合にどう対応するか?という問題はあるかも知れません。
プロクシが漏らしてくれた(?)接続元IPがローカルIPの可能性も否定はできませんし。
プロクシ経由だった場合に「プロクシのIPアドレス」と「プロクシの接続元のIPアドレス(取得できれば)」の2つで、後者がグローバルIPだったら前者で判定する…ということになるんじゃないでしょうか?
ただし、普通はないと思いますがLAN内のIPをプライベートIPアドレスではなくグローバルIPの一部を利用して構築されたネットワークに属するプロキシからのアクセス。という妙な構成がない。とは言えませんのでご注意を。
# まぁ、普通はそういうネットワークは構築しませんけどね。(設定したネットワークアドレスの外部のサイトに接続できなくなるから)
    • good
    • 0
この回答へのお礼

お忙しい中、ご回答誠に有難うございました。
やはり、有償でもサービス(API)を使おうという方向になりそうです。
なかなか素で実装は難しいですね。

お礼日時:2016/02/16 22:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!