ブログやっていて何が大変かって文章を書くこともさることながら、世界中のファッ○ンでク○イジーなスパマーと戦わねばならないことです。
アクセスなんて1日にわずかしかない弱小サイトなのに、どこで嗅ぎつけるのかスパマーが「こんにちわ」とやってきます。
……まったく迷惑なことこの上ない。
ふざけんなよ、ロ○ケ野郎!!
ふぁっきゅめーーーーーん。
ヤツらは何が楽しいのか、スパムコメントを大量に投下してきやがります。まさにスパムコメントの絨毯爆撃。
しかもスクリプトを使って直接POSTしてくるようで、30秒に1回とかの割合で定期的にスパムを打ち込んでくる。
みなさんから頂いたコメントは管理画面から一覧で見られるのですが、コメント爆撃を喰らうと……
この様にあっと言う間にスパムコメントで埋め尽くされてしまいます。そのたびにため息をつきながらスパムコメントの削除作業に追われるのです。
navi研ではブログツールにrNoteを使用しているのですが、こいつがどうもスパム攻撃に対してはまったく無力。 ろくな対空兵器も装備もせずに敵戦闘機のまっただ中にプカプカ浮いている戦艦のようなもの。
そこでrNoteでBBSスパムはじきをヒントに対スパム装備を実装してみました。
画像に表示された英数字を入力するなどが主流のスパム対策なのでしょうが、そこまでする必要もないかなと。要はある特定の文字なり数字なりを入力させて、プログラムがその情報が入力されていればスパムじゃないな、と判別できれば良いのです。
その特定の文字やら数字は人間に理解できて、スパムプログラムが判らないものであればある程ベスト。
ここで「筆者の誕生日を入力してね(はぁと)」とかしてしまうと誰もコメントできない事態に陥ってしまうので、無難で判りやすいものがよいかと思います。ここでは「今年の西暦」あたりにしてみました。
まずは画面側のentries/writeback.skinに西暦の入力フォームを追加。
今年の西暦<input type="text" name="Key" class="key" maxlength="50" />年
次にrnote_config.phpの一番下 rnote.phpファイル中のWriteBackSave()関数内に、下記を追加。
// ツッコミ
if($_POST['mode']=='wb_write'){
if($_POST['Key']!=date('Y')) error('投稿キーが違うか、未入力です');
}
こんな感じで。
これでコメント投稿時に今年の西暦を入力しないとエラーとして弾くようになります。あっさり破られそうな気もしますが、これで暫く様子見です。コメントの入力テストはご自由に。
スパマーどもめ、束になって1人ずつかかってこいやーーーっ!
- 【参考リンク】
- rNoteでBBSスパムはじき-Liner Note
Comments