日本だと、エリアターゲティングという仕組みに特許があるのでまずご確認ください
http://www.ad-area.jp/license.html
docodoco.jp
- REST・JS両方からリクエストが可能(サンプルソースや、PHPライブラリもある)
- 日本の都道府県レベルは精度が高かった
- 個人の非商用なら無料
- リクエスト数で課金額が上がるので、上限を超えそうな場合の制御入れたほうが良い(アタックとか)
都道府県レベルの精度確認は、個人で登録してAPI叩いたり
IPひろばで見ていました(多分完全一致では無いですが)
GeoIP
- 無料
- PHP関数で提供されている
- datファイルを定期的に更新していく必要がある(IP情報は変わるので)
- 日本の都道府県判定はdocodoco.jpより低かった
datファイルの更新ロジックだけ残ってたんで、ついでに貼っておきます
`
#!/bin/bash
DATE=date '+%Y%m%d'
echo $DATE
cd /usr/local/share/GeoIP/
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
rm -f GeoLiteCity.$DATE.dat
mv GeoLiteCity.dat GeoLiteCity.$DATE.dat
rm -f GeoIPCity.dat
ln -s GeoLiteCity.$DATE.dat GeoIPCity.dat
`
マークダウン消えちゃうんで取ってますが
DATE変数作ってる所、=後をバッククォートで囲ってください
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。