Index: [Article Count Order] [Thread]

Date: Mon, 30 Nov 2009 21:23:28 +0900
From: ごりゅ <sakura@usamimi.info>
Subject: [info-ml:00169] [連絡] 機能追加、GeoIPとRuby
To: usamimi infomation <info-ml@usamimi.info>
Message-Id: <20091130122342.78EAC7EBAD@smtp.usamimi.info>
X-Mail-Count: 00169

こんばんは
ごりゅです。

usamimi.infoに新しい機能が追加されましたので連絡します。
GeoIPという機能と暫定ですがRuby(後述)が使用可能になりました。

・GeoIPについて
具体的に何が出来るようになったのかといえば
接続してきた閲覧者(IPアドレス)の国情報が環境変数を通してサイトに通知されます。
これを利用すれば、PerlやPHPなどのCGIから国毎にアクセス制御をしたり
.htaccessを使ってサイト全体の国毎のアクセスを制御出来るようになります。

・CGIで利用する場合
http://www.usamimi.info/~sakura/cgi-bin/env.php
上記URLは、環境変数を出力した物ですが(見づらいのでソースを見る等してください。
GEOIP_XXといった環境変数群が追加されています。
この中で有用になるのは以下の2つになるかと思います。
[GEOIP_COUNTRY_CODE] => JP
[GEOIP_COUNTRY_NAME] => Japan

・.htaccessで利用する場合
.htaccessが使用可能になっていれば他に申請などは必要ありません。
以下のサンプル例ではCN(中国)とRU(ロシア)からのアクセスを遮断しています。
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
Deny from env=BlockCountry

この機能を利用することによって、特定の国からのアクセスを遮断する為に
IPアドレス単位で大量にhtaccessに記述する必要が無くなり管理が楽になります。
外国からのスパム書き込みの防止などに役に立つと思われます。
スパムアクセスの負荷は、割と大きいのでこれでユーザーの皆さんの対策が進むと
サーバー全体の負荷も軽減されるのではないかと考えています。

どの接続元(IPアドレス)がどの国からの物なのかは、サーバー側でデータベースを
月に一度更新されるようになっていますので、新しいIPアドレスにも自動で対応されます。

・Rubyについて

Path : /usr/local/bin/ruby
バージョンは1.9.1です

ユーザーさんからの要望でインストールを行いましたが
要望されたユーザーさんからその後のレスポンスが無く
Rubyは私も触ったことが無い為に、ちゃんとしたテストが出来ていません。
その為インストールはしたものの、宙に浮いた状態になっています。
Rubyを使用したいと思っている方で、実際に動作を確認して頂き
問題や要望があれば私宛(sakura@usamimi.info)まで連絡を頂けると助かります。
問題がないことが確認できてから、正式に仕様一覧に追加しようと思います。

以上です。

\e
--------------------------
ふろむ:goryu
めいる<sakura@usamimi.info>
ほーむ<http://www.usamimi.info/>