web拍手を自分のサイトにおいている人はたくさんいて、もちろんこととねもそういうサイトのひとつである。ところで、web拍手ユーザーは大きくふたつに分けることができる。ひとつは、web拍手公式サイトにて提供されるサービスを利用しているユーザー。CGIを設置するよりも楽という理由で、あるいはCGIを設置できる環境を持っていないという人が含まれるものと思われる。そしてもうひとつは、自分のサイトにweb拍手CGIを設置する人。CGIを設置可能な環境があって、夜になるとどうしても重くなってしまうweb拍手公式サーバーの負荷を軽減したい人、いや混雑を避けたい人といったほうが正しいかな。
この文書は、後者のユーザー、自サイトにweb拍手CGIを設置している人、しようと思っている人が対象である。なお本文書中では、web拍手CGIを設置しているユーザーを、公式サイトのサービスを利用するユーザーと区別するために、web拍手CGIユーザーと呼ぶことにする。
この文書で私がいおうとするのは、単純にファイル名は変えましょうといういうことで、だから、CGIやDATファイルの名称を私はちゃんと変更しているよ、という人は読む必要がない。ファイル名の変更はCGIを設置しようという人には当たり前みたいなことだから、あえて私がいうこともないのではあるが、現実問題としてファイル名を初期設定のままにしている人はかなり多い。
私はいつもそういうのを見てはあぶないなあと思っていて、あぶないと思ってるだけならいいのだが、ファイルの中身を覗きたくなる誘惑に駆られることがあって、いまのところはなんとか誘惑に打ち勝っているからいいのだが、いつ誘惑に負けることになるかも知れない。だから、すべてのweb拍手CGIユーザーは、私が誘惑とたたかわなくてもすむように、ファイル名をちゃんと変更するようにして欲しい。
変更すべきものは以下の通りである。
この中で重要なのはmes.datだと思う。拍手と一緒に送られてくるメッセージが保存されるのがmes.datなのだが、このファイル名が変更されていないと、web拍手送信完了画面のURIからclap.cgiを消し、mes.datと打ち直すだけで、メッセージの内容をダウンロード可能なのだ。同様の理由でlog.datも変えたほうがいいが、こちらには拍手の件数が記録されているだけだから、見られてもそれほどダメージは大きくない。ともあれ、見られるのはいやには違いないだろうから、やっぱり変えるべきだろう。
kaiseki.cgiも変えておいたほうがいい。パスワードを設定してるから大丈夫と思う人もいるかも知れないが、パスワード総当たりで攻撃してくるやつがいないともかぎらない。それこそこんなのスクリプトを書いて自動でできるんだから、よほど長くて凝ったものじゃないかぎり、いつかパスワードを見付けられてしまうものと思ったほうがいい。だから更なる予防策として、kaiseki.cgiのファイル名も変えてしまおう。
まずはlog.datのファイル名を変更してみよう。ファイル名の変更は普通のファイル操作の範疇だから説明しない。好きな名前に変えればよいだろう。その際、.datの部分(拡張子という)は変更しないほうがいいだろう。だから、logの部分を変更するというわけだ。
ファイル名変更時の注意であるが、日本語は使わないこと。全角英数字も使わないこと。サーバによってはちゃんととおらなくなるから、半角英数字(a-zA-Z0-9)で名前を付けるようにしよう。
log.datのファイル名を変更したら、CGIのファイルをテキストエディタで開いて、ちゃんとweb拍手CGIにlog.datのファイル名が変更されたことを教えてあげよう。変更するファイルはclapinit.cgiだ。
clapinit.cgiの38行目くらいに、次のような部分があるだろう。
# ログファイル
$logfile = './log.dat';
この、'./log.dat'の部分を、さっき自分が変更したファイル名に変えてやるといい。例えば、aaa.datに変更したのなら、
# ログファイル
$logfile = './aaa.dat';
にしてやればいい。
mes.datの変更も、log.datと同じようにしてやればいい。ファイル名を変更したら、次は同じくclapinit.cgiの編集だ。41行目くらいにある部分を変更する。
# 一言メッセージ保存ファイル
$mesfile = './mes.dat';
mes.datをbbb.datに変更したなら、
# 一言メッセージ保存ファイル
$mesfile = './bbb.dat';
にする。これ自体はそれほど難しくはないだろう。
kaiseki.cgiのファイル名を変更した場合は、clapinit.cgiではなくてkaiseki.cgiを編集する。kaiseki.cgiをテキストエディタで開いて、11行目を見てみよう。次のような部分があるはずだ。
# このCGIのファイル名
$base = "kaiseki.cgi";
このkaiseki.cgiの部分を、先ほど変更したファイル名にあわせて書き換えてやるのだ。もういちいちいう必要もないと思うが、ファイル名をccc.cgiにしたなら、
# このCGIのファイル名
$base = "ccc.cgi";
にするということだ。
ファイル名を変更したら、今度は更なる安全のためにパスワードを変更しよう。パスワードというのは、kaiseki.cgi(おっと、もう名前が違うかも知れないから、自分で付けた名前に読み替えるように)で拍手の件数や一言メッセージを見るときに必要になるやつで、これが設定されておらず、kaiseki.cgiの名前も変更されていないような場合だと、誰でも簡単に拍手の数やメッセージ内容を見ることができてしまう。だから、なにはなくともパスワードの設定は忘れないようにしよう。
パスワードの設定はclapinit.cgiで行う。clapinit.cgiをテキストエディタで開いてみよう。14行目に次のような部分があるはずだ。
# 解析にパスワード認証を
# 0…かけない
# 1…かける
$passlock = '0';
# 解析閲覧用パスワード(パスワード認証をかけない場合は不要)
$password = '0000';
もう読んでもらえればわかると思うが、$passlock = の次にある数字0を1に変更すれば、パスワード認証が有効になる。その後、$password= の先にある0000という数字を変更しよう。ここに書き込んだ文字列がパスワードになる。できるだけ難しく、他の人が想像しにくいものにするといいだろう。だからといってあまりに難しくしすぎると、自分が忘れてしまうかも知れないから、自分にはわかるけど他の人にはわからないものを選ぶのがいいだろう。
ここでパスワードを決めるときに、さっき、ファイル名を変更するときにもいったけれど、日本語の文字(平仮名、片仮名、漢字)や全角の英数字を使うのはやめよう。やっぱりさっきもいったように半角英数字(a-zA-Z0-9)を使うほうが無難だ。
ファイル名を変更してパスワードも決めた。これで、web拍手CGIのデータが盗み見されるようなことはほとんどなくなるだろう。もちろん簡単にわかるようなものにしたんじゃ、あんまり効果はない。だから、ややこしくもなりすぎず、かといって、簡単にはわからないようなものを考えよう。
これだけすれば、簡単に覗き見はできなくなる。逆に言えば、こういう工夫をしておかなければ、簡単に覗き見できてしまうということだから、今までファイル名をダウンロードしたときのままにしてきた人は、早めに変えたほうがいいと思う。これからCGIの設置にチャレンジしようという人も、ファイル名(特にログファイル)を変更したほうがいいということは覚えておいて欲しい。
これはweb拍手CGIだけじゃなく、掲示板にしてもなんにしても、すべてのCGIでやっておいたほうがいいことだと思うよ。