[
自宅サーバーWebRing
┃
前
|ID=54
前後5表示
|
次
┃
乱移動
|
サイト一覧
]
このサイト内
書籍 DVD CD
Google(日本語)
Google(Web全体)
Google(イメージ)
Google(キャッシュ)
Yahoo! JAPAN
goo 英和
goo 和英
goo 国語
goo 新語
サイトマップ
リンク集
ダウンロード
フォーラム
Users Wiki
最新情報
TOP
»
UsersWiki
»
nao-pon
»
blog
» 2006-07-28 のバックアップソース(No.1)
|
一覧
検索
最新
ヘルプ
ページへ戻る
履歴
リンク元
印刷
IP から ccTLD (国別コード)を得る
のバックアップソース(No.1)
UsersWiki
:
nao-pon
/
blog
/
2006-07-28
のバックアップソース(No.1)
差分
を表示
現在との差分
を表示
nao-pon/blog/2006-07-28
へ行く。
Next »
#freeze uid:1 aid:0 gid:0 // author:1 // author_ucd:dQh9JbjdAEAY nao-pon ** IP から ccTLD (国別コード)を得る [#l40617ff] #keyword() #category(#right,:Blog,プログラミング) ちょっと前から、いじっているサイト [[YouTube NAVI:http://youtube.navi-gate.org/]] は、内容がワールドワイドなコンテンツなので、Amazon のアソシエイツも各国のそれに参加しています。 当初は、ブラウザが送ってくる Accept-Charset を見て判別して振り分けていたのですが、Accept-Charset はあくまでも言語指定であって、住んでる地域とは一致しないので、IPを元にアクセス元の国を判別してみようと思い立ちました。 調べてみると、http://api.hostip.info/ で、APIとして公開されていたので使ってみたのですが、正しく取得できない場合があったので、自前で構築してみました。 まずは、リストの取得ですが [[不正アクセスの発信地の国別統計をとろう!:http://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html]] で Nakamura Minoru さんという方が、世界に4ヶ所ある IP アドレスを管理している組織が公開しているデータをまとめて公開されているのを発見! そちらのデーターを元に MySQL にデータベースを作成しまし、PHPスクリプトで問い合わせるものを作ってみました。 -まずは、MySQL のテーブル構造 --http://hypweb.net/api/ip2tld/sql/ip2tld_table.sql.txt -そして、肝心要のデーター --http://hypweb.net/api/ip2tld/sql/ip2tld_dat.txt -そして最後にPHPスクリプトの関数 <<< function ip2tld($ip) { global $config; if (preg_match("/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/",$ip,$arg)) { $ip = $arg[1]; } else { $ip = ""; } $tld = ""; if ($ip) { $ips = explode(".",$ip); $ip = $ips[0] * 16777216 + $ips[1] * 65536 + $ips[2] * 256 + $ips[3]; // データベースに接続し、選択する $link = mysql_connect($config['db']['host'], $config['db']['user'], $config['db']['pass']) or die("Could not connect"); //print "Connected successfully"; mysql_select_db($config['db']['name'],$link) or die("Could not select database"); // SQLクエリを実行する $query = "SELECT tld FROM `{$config['ip2tld']['table']}` WHERE start <= $ip AND end >= $ip LIMIT 1"; //echo $query; $result = mysql_query($query) or die("Query failed"); // HTMLに結果を出力する list($tld) = mysql_fetch_row($result); // 接続を閉じる mysql_close($link); } if (!$tld) $tld = "XX"; return $tld; } >>> --$config に配列として DB接続情報を指定してください。 <<< $config = array(); // DB setting // $config['db']['host'] = "localhost"; // MySQL Server host $config['db']['name'] = "db name"; // MySQL DB name $config['db']['user'] = "user name"; // MySQL User name $config['db']['pass'] = "password"; // MySQL Password // ---------- // $config['ip2tld']['table'] = "ip2tld_dat"; // DB Table name (ip2tld_dat) >>> ---- これを利用したのが [[Convert IP to ccTLD:http://hypweb.net/api/ip2tld/form.php]] です。~ API として利用するなら http://hypweb.net/api/ip2tld/?ip= として IPを与えてください。~ 現状では利用にあたり制限をしていませんが、継続性は保証できません。ある日突然なくなるかもしれないので、ご了承ください。 一式諸々をパックしておきました。ご自由にお使いください。 -&ref(ip2tld.zip); --rename.config.php の内容を設定して config.php とリネームしてください。 ;) ---- #comment(,btn:つっこみ) ---- ***似たような BLOG [#p891d865] #blogs(like) #ping(http://www.blogpeople.net/servlet/weblogUpdates,http://i-uranai.net/tb.php/aries/)
Next »
nao-pon/blog/2006-07-28 のバックアップ一覧
nao-pon/blog/2006-07-28 のバックアップソース(No. All)
1: 2006-07-28 (金) 10:32:42
2: 2006-07-28 (金) 01:32:42
nao-pon
3: 2006-07-28 (金) 01:32:42
nao-pon
現: 2006-07-28 (金) 01:32:42
nao-pon
ぺージ情報
ぺージ名 :
nao-pon/blog/2006-07-28
ページ別名 :
未設定
ページオーナー :
nao-pon
閲覧可
グループ :
すべての訪問者
ユーザー :
すべての訪問者
編集可
グループ :
なし
ユーザー :
ゲスト
Counter: 307, today: 1, yesterday: 1
メインメニュー
ホーム
価格比較 百貨
UsersWiki
新規ページ作成
最新ページ一覧
全ページ一覧
全コメント一覧
ヘルプ
» 関連ページ
» 記述を見る
» 変更点を見る
» バックアップ一覧
» 添付ファイル一覧
» リンク元一覧
xpwiki
お問い合わせ
ファイルマネージャー
ログイン
ユーザー名:
パスワード:
パスワード紛失
|
新規登録
最近の更新
最新の20件
2023-05-14
nao-pon
/
gmap + gmap_street + gmap_insertmarker
nao-pon
/
googlemaps2
2023-03-22
PublicBlog
/
The Importance of QFP in PCB
2023-02-28
FrontPage
/
PCB terminology you must know
2023-01-20
nao-pon
/
blog
/
ESP8266 を壊してしまいました しかも続けて2回も
2022-09-22
nao-pon
/
blog
/
ESP32 + ESPHome の Bluetooth Proxy で SwitchBot Mater
2022-08-26
nao-pon
/
blog
/
独自ビルドの Tasmota を 12.1.1 へ
2022-08-19
nao-pon
/
blog
/
Zigbee + ZHA のメモ書き
2022-01-17
nao-pon
/
blog
/
HomeAssistant 統合の Tasmota-IRHVAC に貢献
2021-08-03
nao-pon
/
ファイル置き場
/
スペースサワダ
2021-07-01
nao-pon
/
blog
/
HomeAssistant 統合の Tasmota-IRHVAC の不具合修正
2021-06-20
nao-pon
/
blog
/
Tasmota を 9.4.0 から 9.5.0 へアップデート
2021-06-15
nao-pon
/
blog
/
ミンティア[MINTIA] で WiFi 6ボタンスイッチを作った
2021-04-27
PublicBlog
2021-03-17
nao-pon
/
blog
/
SwitchBot 温湿度計を ESP32 でモニタリング
2021-03-13
nao-pon
/
blog
/
東芝エアコンのエントリーモデルもWiFi化
2021-02-23
risoulaser
2021-02-18
nao-pon
/
blog
/
Panasonic (ナショナル) エアコンの 2008 年モデルも WiFi 化
2021-02-15
nao-pon
/
blog
/
Tasmota で HA 端子(JEM-A) 連携
2021-02-07
nao-pon
/
blog
/
Tasmota で三菱エアコンを完全コントロール
オンライン状況
640 人のユーザが現在オンラインです。 (14 人のユーザが UsersWiki を参照しています。)
登録ユーザ: 0
ゲスト: 640
もっと...
サイト情報