スーの道具箱/
気まぐれ日記/2008-09-27
の編集
[
ホーム
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
Top
>
気まぐれ日記
> 2008-09-27
**[Web]spam対策 [#h995254c] 接続国取得に、hostip.infoを使用していましたが、日本の一部プロバイダが登録されていないようなので、自前で実装。~ 不正アクセスの発信地の国別統計をとろう!~ http://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html から持ってきた情報を強引にファイル化し、引き当てるようにした。~ #code(php){{ function get_ip2country($ip) { $country = "XX"; if (preg_match('/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/i', $ip, $matches)) { if ($fp = fopen( LIB_DIR . "ip2country.bin", 'r') ) { fseek($fp, ($matches[1] * 0x10000 + $matches[2] * 0x100 + $matches[3]) * 2); $country = fgets($fp, 2 + 1); fclose($fp); } } if ($country == "XX") { $rc = http_request("http://api.hostip.info/country.php?ip=" . $ip); if ($rc['rc'] == 200) $country = mb_convert_encoding($rc["data"], SOURCE_ENCODING, "UTF-8"); } return $country; } }} &ref(ip2country.zip); //// #br #comment #br
タイムスタンプを変更しない
**[Web]spam対策 [#h995254c] 接続国取得に、hostip.infoを使用していましたが、日本の一部プロバイダが登録されていないようなので、自前で実装。~ 不正アクセスの発信地の国別統計をとろう!~ http://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html から持ってきた情報を強引にファイル化し、引き当てるようにした。~ #code(php){{ function get_ip2country($ip) { $country = "XX"; if (preg_match('/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/i', $ip, $matches)) { if ($fp = fopen( LIB_DIR . "ip2country.bin", 'r') ) { fseek($fp, ($matches[1] * 0x10000 + $matches[2] * 0x100 + $matches[3]) * 2); $country = fgets($fp, 2 + 1); fclose($fp); } } if ($country == "XX") { $rc = http_request("http://api.hostip.info/country.php?ip=" . $ip); if ($rc['rc'] == 200) $country = mb_convert_encoding($rc["data"], SOURCE_ENCODING, "UTF-8"); } return $country; } }} &ref(ip2country.zip); //// #br #comment #br
テキスト整形のルールを表示する