◇◇ お知らせ ◇◇
< 2005.1.27 >
●blosxomプラグインを公開中。スパム対策用の拡張スパムブロッカーとリロード時の2重投稿防止対策のプラグインはお勧めです。最新版はブロッサムスターターキット研究室からリンクを張ってあります。
Oct 20, 2005
並び順変更方法
recentwritebacks_treeをお使いの方が多いと思いますが、投稿者の並び順が新しい物が下になっています。本サイトではこれを新しい物を上になる様に変えています。その変更は簡単ですので、エントリに上げておきます。
foreach my $name (reverse(@names)) {
の行を、
foreach my $name (@names) {
と変更すればいいです。すごく簡単。
Oct 19, 2005
TBアドレスに有効期限設定
ESBのダイナミックパスワードをTBにも適用出来る様にしました。 コメント投稿ページのトラックバックアドレスを見ていただければ分かりますが、通常のアドレスの後に?と次の行になってしまっていますが、ダイナミックパスワードが表示されています。
これにより、このページが作成された直後10秒以内と1日以降にこのTBアドレスを使ってTBを送った場合、スパムとして弾きます。 これがやりたかったので、暗号化は独自方式を採用しているのです。
cript関数を使ったら、".","/"といった文字に変換される事が有るのが嫌だったのです。
TBアドレスは通常パーマネントリンクページに書かれると思いますが、静的生成とかで静的ページにTBアドレスを表示される場合は、このチェックは外さないと、1日以降判定でスパムとして弾かれます。動的生成のblosxomだからこそ出来る対策です。
同一IPからの連続投稿禁止
同一IPからの連続投稿禁止機能を実装してみました。
最初のスパムはこの機能では防止出来ませんが、10秒以内に同一IPアドレスから投稿が有った場合、ブロックします。コメント・トラックバックそれぞれ有効・無効設定可能ですが、当然、今は両方有効にしてあります。
ところで、ここにはスパム来ませんねー。8/31を最後にぱったりです。
Oct 18, 2005
有効期限付パスワード使用条件
前のエントリで新しい対策として、有効期限付パスワード機能追加をお知らせしています。これは「ダイナミックパスワード」という名前をつけているのですが、1秒毎にパスワードが変わります。
コメント投稿ページを開いた時にそのページのダイナミックパスワードの値が確定するのがミソです。 これにより使用にあたって条件がついてしまいます。 それは「静的ページには適用不可」という事です。
動的生成のblosxomだからこそ使えるのです。
だから、コメント投稿を静的生成をしたページとか、キャッシュを取ったようなページに適用すると、使えないのです。 コメント投稿ページだけでも動的生成であれば適用可能です。
Oct 17, 2005
有効期限付パスワード機能追加
ESB0.40alphaで更にもう1段強力なスパムチェックを追加する事にしました。(昨年末くらいから構想していた対策です。) これはダイナミックパスワードと呼ぶことにしますが、簡単に言えばパスワードなんですが、有効期限が有るのです。しかも、独自方式ですが暗号化しています。
このパスワードをコメント投稿フォームからhidden属性で送る様にフレーバーの変更も必要です。コメント投稿ページを開く(ページをリロードする)毎に、このパスワードの値は変わります。(1秒単位で変わります。) 現在は、このページを開いてから10秒以内と1日以上経過したページから投稿した場合、スパムとして弾く設定にしています。(この時間はそれぞれ指定可能です。)
これにより、投稿ページをゲットしてすぐに投稿した場合、スパムとして弾く事になります。後日、同一IPからの連続投稿を弾く様にしたいと思っていますので、それと組み合わせれば、2回目からの投稿も弾けると思います。
また、1日以上古いページからの投稿を弾くので、過去にゲットしたコメントページからの投稿も弾かれます。
これは国内からのしつこいコメント投稿にも効果が有ると思いますよ。
Oct 16, 2005
ESB0.40alpha test
beta版にすぐに移行するかどうかはまだ検討中なのですが、ESB0.40のalpha版を本サイトに設置してみました。
訪問者側の状況(どうしてもプロキシ経由からとかウィルス対策ソフトでリファラがつかないとか)により特定のチェックで弾かれてしまうケースがあるのですが、今回のバージョンでは、そういうケースでは訪問者のIPアドレスで当該チェックを無効にする機能を実装しています。
という事で、現在、ESBの全てのスパムチェックを有効にしてあります。 過去にスパムチェックで弾いた方の中で記録が残っている何名かの方は個別にその時のスパムチェックを無効にしていますので、弾かれる事は無いはずですし、新たな訪問者の方を弾いても次回からは弾かない様にする事が出来ます。
このバージョンが完成すれば、ESBの持つ11種類のコメントスパムチェックと9種類のトラックバックスパムチェックを最大限に活用出来る事になりますので、早く完成させたいですね。
Oct 15, 2005
緊急! スパムメール防止
bskではコメント投稿フォームにURL/E-Mail:欄が有り、URLとメールアドレスのどちらかを記入する事になっているのですが、ここにメールアドレスを書き込むと投稿者の名前に対してリンクが貼られた形でWEB上に公開されてしまい、メールアドレス収集botに情報収集されてしまい、コメントを投稿していただいた方へのスパムメールの原因となってしまいます。
そこで、writebackプラグインのメールアドレスリンクを貼る部分を改造してスパムに収集されにくくしていたのですが、それでも最近は駄目な様です。(にーやんさんのエントリ経由で知りました。)
結論として、どんなに凝った表記をしても、マウスをポイントして、メールアドレスがブラウザのステータスバーに表示されるようなら、ほとんど収集されてしまうという事です。
そこで、当サイトではwritebackプラグインのメールアドレスリンクを貼る部分を再度変更し、メールアドレス情報を完全に非表示としました。(.wbファイルには情報は残っています)
BSK研究室での対応案1を採用すれば非表示になります。当サイトでは単純に対応案1のままではなく、削除した変数を
- $param{'name'} .= '(with saved mail address)' ;
- $param{'blog_name'} .= '(with saved mail address)' ;
として、メールアドレスの記入が有った事を区別出来る様にしておきました。
(追記: 11/16)
にーやんさんがメールアイコン表示をしていたので、こちらもそれを採用する事ににしました。その場合には、上記2行を下記の3行に変更。
- my $mail_icon_link = qq! <img src="http://$ENV{'HTTP_HOST'}$mail_icon"/>!;
- $param{'name'} .= $mail_icon_link;
- $param{'blog_name'} .= $mail_icon_link;
そして、Plug-in package variables の最後あたりに、
- my $mail_icon = '/image/mail2.gif'; # root directoryからの絶対アドレス表記(先頭の'/'を忘れずに!)
という様に、メールアイコンを置いた場所を指定。
こんなに回りくどい方法をしなくても、ダイレクトに2行にメールアイコンのリンクを張ってしまえばいいです。
ところで、$param{'blog_name'}の行はトラックバックに対する対応だが、メールアドレスをトラックバックで書いてくるケースは有るんだろうか?とか思ってたりする。
ESBを使っていてUTF-8で無い方へ
ESBの最新版0.39eをUTF-8でなく、shift_JISなサイトに設置したら、スパムは弾くがログ記録出来ないという症状を発見。
理由はイマイチ良く分からないのですが、ESBのコンフィギュレーション部で、
my $charset = 'sjis';
と設置しているブログの文字コードにあわせると問題無くなります。(これが正しい設置の仕方なので仕様的には問題無いのですが、)UTF-8以外のサイトに設置される方はご注意下さい。
そして、この理由が分かる方がいましたら教えて下さい。 Jcodeモジュールの仕様なのではと思うのですが、自信ない。
Oct 14, 2005
ESB0.40構想
ESB0.39eで0.3系を終える事になります。 0.3系では新しい対策の追加と機能追加が中心でした。
しかし、使ってみると一部の方を弾いてしまうので、デフォルト設定を無効にせざるをえない物(アクセプトエンコーディングチェックとか)と、デフォルトで有効にしているがやはり一部の方を弾いてしまう物が有ります(リファラチェック)。
0.4系ではこれらの対策をまず利用可能にする事を目的とします。
0.39eでログ記録が取り易い環境を提供する事が出来たので、仮に弾いたとしても復活させる事や投稿者へ連絡を取り、再度投稿していただく等の対応が取り易くなっています。
0.4系では、スパムでないのに弾いてしまうケースで、かつ、相手側で対応出来ないケースでは、弾いた原因になっているチェックを、そのIPアドレスだけ無効にする機能を追加する予定です。 この機能を活用すれば、2回目以降は弾かれる事がなくなります。
仮に踏み台にされてスパムを送られるようなケースでも、ESBは沢山のスパムチェックを持っていますので、他のチェックで引っかかる可能性が高く、こういう対応をしても良いだろうと考えています。
既にかなり実装は出来ていて、それなりに動きそうな所まで来ていますので、そう遠くない時期にアルファー版のテストを始める事になると思います。
Oct 13, 2005
最近の*日付表示変更
Recentwritebacks_treeプラグインの日付表示はプラグイン側で決まっていて表示方法が変えれません。
でも、サイドバーで表示させるなら、横幅に制約が有るし日付表示部分もいろいろ変えてみたいなと思い、プラグインを改造してみた。 いくつかの表示形式をコンフィグレーションで設定可能にしてみた。
今の所、日付表示は、0: mm/dd; 1: yy/mm/dd ; 2: yyyy/mm/dd; 3: mmm dd, yyyy; 4: dd mmm yyyy の5通り、時間表示は、表示の有無の2通りが、コメントとトラックバックそれぞれ別々に選べる様にしています。もっと、違う表示も有る方が良いかもしれませんが、この程度で十分では無いですかね?
なお、表示例は、旧カンガルーオアシスで見れます。後日、本ブログにも適用予定です。