設定
GeoIPサービス
GeoIPサービスとは、IPアドレスから地理情報を確認することができるサービスです。
このサービスはサイト/ジオブロッキング拡張で必要とされ、ユーザー管理システムで使用されます。
GeoIPサービスの設定
[一般設定>GeoIP]から設定します。
プロバイダ:
このオプションはサーバーでPHP GeoIP拡張が有効になっている場合にのみ表示され、ユーザーIPから国別コードを取得するために使用されるプロバイダ/システムを選択できるようになります。
注:「PHP」を選択した場合、[サービスURL]ならびに[国別コードの応答データインデックス]の項目は表示されません。
外部プロバイダー(External):
GeoIPサービスはGETを使用してリクエストをサポートし、JSONまたはJSONPフォーマットでレスポンスを返さなければなりません。
GeoIPサービスの例として以下を示します(無料及び有料サービス)。
- freegeoip.net
- ip-api (http://ip-api.com/)
- IPInfoDB (http://www.ipinfodb.com/ip_location_api_json.php)
- ipinfo.io
- geoips.com
オリジナルのGeoIPスクリプトを構築することも可能です。
その為にはインターネットからIP位置情報データベースをダウンロードし、IPをGET変数として受け入れるスクリプトを実装する必要があります(例:http://.../my_geoip_script.php?ip=xxx.xxx.xxx.xxx)。
次に、地理的な場所を見つけ、その結果=国別コードをJSON形式で返すために、IPをGeolocationデータベースと一致させます。
注:国別コードが配列または別のオブジェクトにネストされていないことを確認してください。
サポートされている応答の例:{"country_code":"AU"}
スクリプトの後にURLを入力し、国別コードのデータインデックスを入力するだけで済みます。
サービスURL:
GeoIPサービスがINTER-STREAMからの要求を受信するURLで、IPアドレスを"{ip}"に置き換えて入力します。
例:サービスのURLがhttp://my_geo_ip_serv.com/json?ip=xxx.xxx.xxx.xxxの場合、「http://my_geo_ip_serv.com/json?ip={ip}」と入力する必要があります。
国別コードの応答データインデックス:
JSON応答から国別コードを取得するために使用するデータインデックスを指定します。
テスト結果:
GeoIPサービスが空欄もしくは正しく設定されていない場合はレスポンスエラーとなり下の欄には何も表示されません。
GeoIPサービスが正しく設定されると応答結果が表示されます。
- ipstack
サービスURL:http://api.ipstack.com/{ip}?access_key=[api_key]
注:[api_key]はサービスで提供されているAPIキーに置き換えてください。
国別コードの応答データインデックス:country_code - geoPlugin(ipstackに置換え)
サービスURL:http://www.geoplugin.net/json.gp?ip={ip}
国別コードの応答データインデックス:geoplugin_countryCode - freegeoip.net
サービスURL:http://freegeoip.net/json/{ip}
国別コードの応答データインデックス:country_code - ip-api
サービスURL:http://ip-api.com/json/{ip}
国別コードの応答データインデックス:countryCode - IPInfoDB
サービスURL:http://api.ipinfodb.com/v3/ip-country/?key=[api_key]&ip={ip}&format=json
注:[api_key]はサービスで提供されているAPIキーに置き換えてください。
国別コードの応答データインデックス:countryCode - ipinfo.io
サービスURL:http://ipinfo.io/{ip}
国別コードの応答データインデックス:country - geoips.com
サービスURL:https://api.geoips.com/ip/{ip}/key/[api_key]/output/json
注:[api_key]はサービスで提供されているAPIキーに置き換えてください。
国別コードの応答データインデックス:country_code
IPマップカスタム
GeoIPサービスが特定のIPの国を誤認識する場合はここで正しい位置情報を指定します。
- 1行に1エントリ
- 各エントリは「[IPアドレス]/[国別コード]」の形式である必要があります。例:212.31.45.110/ES