LoginSignup
21
3

More than 1 year has passed since last update.

海外IPからのアクセスを検知したい!!

Posted at

海外IPからのアクセスを検知して分岐処理を書く機会があったので、調査結果を備忘録がてらまとめてみました。
この方法を採用することで、特定の国や地域からのアクセスを識別することができます。
海外IPからのアクセスを再現する方法と、海外IPからのアクセスを検知する方法に分けてそれぞれ解説していきます。


海外IPからのアクセスを再現する方法

1. VPN Free – Betternet Unlimited VPN Proxy

再現方法は色々あったのですが、この拡張機能を使うやり方がお手軽かつページ遷移まで再現できるので圧倒的におすすめです。
拡張機能をインストールし下記画像の「CONNECT」ボタンを押せば海外IPからのアクセスを再現できます。

2. WebPageTest

登録不要で、簡単に海外IPからのアクセスを再現できるサイトです。

画像の「Enter a website URL…」と表示されているinputフォームに、アクセスしたいURLを入れて「Start Test」ボタンをクリックすれば海外IPからのアクセスを再現できます。
アクセスした結果の画面が表示されます。

海外IPからのアクセスを検知する方法

1. API

リクエスト元のIPアドレスを送ることで、どの国からのアクセスかを判定できるAPIが世界にはたくさんあるのでそれらを使いましょう。適当にいくつか紹介します。

有料なものもあるので使用する際は自己責任でお願いします

dbip

ipgeolocation

IPWHOIS.IO

2. MaxMind DB

MaxMind DBとは、MAXMIND社が提供しているIPアドレスから位置情報を検索するためのデータベースで、IPアドレスから、国や地域、市、郵便番号といった情報を取得することができます。
MaxMind DBは、オープンソースのGeoLite2というデータベースを提供する他、有料のデータベースも提供しています。

仕様についての詳しい説明は下記公式ドキュメントを参考にしてください。

また、実際に採用する場合は下記GitHubのREADMEを参考にしてください(Rubyで採用する場合のGitHubです)。

最後に

様々な外部サービスを使うことで海外IPアクセスの再現とその判定を簡単に行えることがわかりました。ただ、これから実際にどのサービスを使うか決めるって段階に入るとお金が絡んできて急に難しくなりますよね…

どのサービスが使えるか調査するのは楽しくても、実際に決める段階は嫌いって人意外と多そうです(偏見)。コストとサービスクオリティのバランスは悩まざるを得ないなって改めて感じました。

21
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
3