2006年06月12日

コメントスパム対策その2(SCode)

宣伝や被リンク数アップを目的とした、ブログの記事とはなんら関係のないコメント、いわゆるコメントスパムに悩まされているところは多いかと思います。

ここでも、以前に一度対策をしたのですが、日に日にコメントスパムの件数が増えてきて、特定のキーワードやアドレスを指定してコメントスパムをはじくだけでは追いつかなくなりました。

放っておくと日に数百回の書き込みがあり、その内容やアドレスは頻繁に変わるし、ご丁寧に日本語と英語を交えてランダムに文章を生成しているらしく、「英語だけなら書き込み不可」という手も使えません。

そこで別の手法を取り入れることにしました。

小粋空間: MT-SCode プラグインによるコメントスパム対策(その1)

こちらのページを参考にして、Movable Typeのプラグインとして提供されているSCodeを導入しました。

うちのサイトで導入する際、テンプレートは「個別エントリーアーカイブ」だけでなく「コメント・プレビュー」と「コメント・エラー」も修正する必要があり、逆にContext.pmにはSecurity code validationのロジック追加のみで入力欄追加は不要でしたが…
これはHINAGATAのテンプレートを使ってるのが影響してる…のかな?

ともあれこのプラグインを導入すると、コメント入力欄がこのようになります。
(位置やメッセージは適宜変更しています)

コメント入力画面

数字が画像として表示されており、これを入力してもらうことで、ちゃんと人間が手で打ってコメントしている場合だけ受け付けるようにしようというわけです。
数字の回りに薄い色で格子が入っているのも、コメントスパムを自動的に書き込むようなプログラムが自動的に読み取ることをやりづらくするためなのでしょう。

これを導入してから、今のところコメントスパムは0件です (´ー`)y-~~

だけど、普通にコメントしてくれている人に対して、ランダムな数字を入力するというまったく意味のない行為を強いるこの手法は、できれば採用したくないものでした。

数字は半角で入力する必要があり、全角で入力するとエラーになってしまいます。
半角/全角の違いなど、人によってはよくわからないかもしれませんね。

また文字を読み取りづらくしているのは上記のような理由と思われますが、人間にとっても読みにくいものであり、視力があまりよくない人にとってはこれを読み取れというのは苦痛ですらあるかもしれません。

それでもあまりにコメントスパムがひどいので、団長の思い出…なんだこの誤変換は…断腸の思いで導入に踏み切りました。
というわけでコメントしていただける方には申し訳ありませんが、よろしくお願いいたします。

さて、あとはトラックバックスパム対策か…

2005年05月21日

コメントスパム対策

19日から20日にかけて、このブログに不適切なコメントが投稿されていました。
オンラインカジノがどうとか、○○なビデオがどうとか、アレの大きさをenlargementするとか…
どれも英語で、書き込まれてすぐに削除しましたが、立て続けに3件きたのでさすがに鬱陶しくなり対策をすることにしました。

■対策その1:mt-comments.cgiの名前変更
コメントを書き込むときに使われる、mt-comments.cgi というファイルの名前を変えてしまいます。
MovableTypeを使っているブログでは標準で mt-comments.cgi となっているため、これを狙って直接書き込みをしてくる相手には名前を変えてしまえば対処できます。

まず mt-comments.cgi のファイル名を mt-cmt.cgi などに変更します。

次に mt.cfg の中に

# CommentScript mt-comments.pl

という行があるので、ここを修正します。
先頭の # をはずし、先ほど変更したファイル名に修正します。

CommentScript mt-cmt.cgi

そしてサイトの再構築を行えば終了。

■対策その2:禁止用語のチェック
大体コメントスパムの内容は似たり寄ったりなので、その中でよく使われる言葉をあらかじめ禁止用語として設定しておき、それが使われている場合には投稿できないようにします。
casinoとか、性的な言葉がまともなコメントに使われるはずがないですからね。

MovableTypeはCGIなのでソースファイルを修正してもいいのですが、せっかくプラグイン機能があるのでそれを使います。
といってもプラグインの書き方がわからないなぁ…と調べていたら、目的に近いものが見つかりました。

鵺的:想空間: mt-spamstop_20050213

こちらはアンカータグを検出してブロックするようになっています。
確かにコメントスパムではアンカータグを使って自分のサイトに誘導しようというものが大半なので、このまま使ってもいいのですが、コメントの中でまともなサイトを紹介する場合も無いとは言えないので改造することにしました。

下のファイルをダウンロードして、展開して出てきた2つのファイルを plugins ディレクトリに置くだけで使えます。

ダウンロード→mt-checkngword_20050521.tar.gz

禁止用語リストファイル(mt-checkngword.lst)は、不適切と思われる言葉を並べて書いておきます。
例えば

アレ
ナニ

と書いておけば、コメントの中に「アレ」や「ナニ」という言葉が含まれている場合に投稿ができなくなります。

エラーではじいた時、ログに残るようになっているので、たまにログを確認してみるといいですね。

2005年01月31日

index.rdfのダウンロード防止

RSSのリンク(RDF Site SummaryとかSyndicate this siteとか書いてるアレ)をクリックすると、XMLが画面に表示されるサイトもあれば、index.rdfのダウンロードになるサイトもあります。
個人的にはXMLで表示される方がいいと思っているのですが、このサイトではダウンロードになるので気になっていました。

MIMEタイプの設定あたりかなーと思って調べてみたら情報がありました。
KYUCON*BLOG
さくらのレンタルサーバ非公式FAQ
 (「.htaccess」の「RSS/RDFファイルがダウンロードになる」のとこ)

要は .htaccess に

AddType application/xml .rdf

と書けば良いんですね〜

で早速やってみたら…
まだダウンロードになる…?

KYUCON*BLOGさんのところを見直すと、

行末に改行を入れるのをお忘れなく。

おお!
これだ!
今度こそ…

またダメだ _| ̄|○

はっ、こういうときはアレか!?
IEのメニューから「ツール」「インターネットオプション」を選び、
インターネット一時ファイルの「ファイルの削除」ボタンを押して、
IEを再起動してやってみたら…

今度こそXMLが表示された! ヽ(´▽`)ノ
ブラウザの動きがおかしかったら、とりあえず「ファイルの削除」ですね〜

2005年01月23日

atom.xmlのメールアドレス

スパムの多さに閉口してメールアドレスを非公開にしたのですが、ふとサーバ内を検索してみたらatom.xmlにMovableTypeの投稿者として設定したメールアドレスが書いてあることに気づきました。

atom.xmlにはリンクこそ張っていないものの、URLを直接叩けば誰でも表示できるので、あわてて直しました。

このファイルはテンプレートで生成されるので、Atomフィード(atom.xml)を開いて

<MTIfNonEmpty tag="MTEntryAuthorEmail"><email><$MTEntryAuthorEmail encode_xml="1"$></email></MTIfNonEmpty>

の部分を削除しました。

なぜ日曜の朝からこんな事をやっているかと言うと…
6時前に500通近いエラーメールが配信されてきたからなんです_| ̄|○

2004年12月29日

TrackbackPeopleに「居合道」を追加

BlogPeopleの「トラックバック・ピープル」に、「居合道」という話題を追加しました。

バナーを作るのにかなり時間がかかりましたが…
一応、刀の鍔(つば)をデザインしたつもりです。

居合に関する記事を書いたとき、ぜひトラックバックしてください。

BlogPeopleに登録

BlogPeopleがリニューアルされたというニュースを読んで、早速登録してみました。

会員情報の居住地による「ご当地ブログ」というのが面白そうですね。
他にもPRツールとして

ランダムピックアップBLOGサイト

「ランダム・ピックアップBLOGサイト」は毎日正午12時にBlogPeople会員の中から 1サイトを抽選で選んで、BlogPeopleのトップページでご紹介するサービスです。

BlogPeople ブロト

「BlogPeople ブロト」は4桁の数字をあらかじめ設定しておくと、毎日抽選が行われその数字が選ばれると、あなたのサイトがBlogPeopleのTOPページで紹介されるという運試しゲームです。

など、いろいろ面白いサービスがあります。

あとトラックバック・ピープルでは話題ごとにトラックバックを受け付けているので、そこから興味のある話題のブログをたどることができますね。

居合に関する話題はなかったので、BlogPeopleに作成を依頼してみました。
どうなるかな〜?

2004年12月19日

ファイルアップロード画面の改善

ブログに画像を貼り付けるとき、Movable Typeの管理画面でファイルのアップロードをします。
TAKUBO-NET blogではファイル名の重複をなるべく気にしなくて済むよう、画像ファイルはアーカイブディレクトリの下に月別のディレクトリを作成して置いています。
例:archives/2004/12

で、管理画面で「<ローカル・アーカイブ・パス>/」のあとに毎回手で入力するのは面倒なので、ちょっとカスタマイズしました。

<mt>/tmpl/cms/upload.tmplに次のような行があります。

<p><label for="file"><MT_TRANS phrase="File:"></label> <input type="file" name="file" /></p>

これを、以下のように修正します。

<p><label for="file"><MT_TRANS phrase="File:"></label> <input type="file" name="file" onchange="date=new Date(); y=date.getYear(); m=date.getMonth()+1; document.forms[0].extra_path_archive.value=y+'/'+(m<10?'0':'')+m" /></p>

これで、「参照」ボタンを押してファイルを選ぶと、「<ローカル・アーカイブ・パス>/」のところへ「2004/12」のようなディレクトリ名が自動的に設定されるようになります。

2004年12月07日

ブログの携帯対応(MT4i)

TAKUBO-NET blogの携帯対応版を設置しました。
http://www.takubo.net/blog/mt4i

URLでバレバレですが、MT4iというプログラムを使わせてもらっています。
MT4i v2.0β5がこちらで公開されています。

説明通りに作業すれば特に難しいこともなく設定できます。

管理者モードもあり、外からエントリー(記事)の登録も可能。
(ただし画像のアップロードはできません)

またコメントのメール通知を簡単に停止することができます。
管理者にとっては便利な機能ですね。

2004年12月06日

アーカイブのファイル名

過去の記事(アーカイブ)を見ていて、何でファイル名が
 post_1.html
 post_2.html
と順についていたり、
 21.html
 _in_1.html
とヘンな名前になっていたりするのかと思ったら・・・

タイトルからファイル名に使える文字を抜き出してるんですねー

「21世紀の耳かき」→「21.html」
「忘年会 in 石和温泉」→「_in_1.html」

半角文字を抜き出して、空白はアンダーバー(_)に変換して。
全角文字しかない場合は、「post_1.html」のように付けているみたいです。

それでも、よく見ると「post.html」なんてのもあるなぁ・・・

英語でタイトルを付けていればそれなりのファイル名になるんだろうけれど、
基本的に日本語を使っている場合は、最初から「post_??.html」で付けてくれた方が
よっぽどすっきりするのに。

2004年11月27日

ブログ設置

今更ながら、ブログを作ってみました。
@niftyのココログとか、GoogleのBloggerとかも試してみましたが、レスポンスとか日本語対応とかそれぞれ不満があってどれもイマイチだったので、Movable TypeというCGIを入手してTAKUBO-NET内に設置しました。

インストールはこちらのMovable Type 3.x 導入手順を見れば迷うことなくできるでしょう。

問題はテンプレート(デザイン)ですね。
標準のデザインはあまりかっこよくないので、いろいろいじりたくなります。
まずはこちらから「HINAGATA TWO」という雛形テンプレートセットとスキンをダウンロードしてきて、それをもとにカスタマイズ。
(ベースはBoxes hinaPod mini-silver

Webサイト構築の仕事をしていながら、実はあまりスタイルシートが得意でないので、結構手間取りましたが…
少しはマシになったかと思います。
まあ、おいおい直していくことにしますか。

ブログその他のエントリー