2007-07-22(日) [長年日記]
■ 「暇つぶし系」のspamには無力
いろいろと対策をとっているおかげで、最近はこの日記に対してツッコミspamやTrackBack spamを喰らうことはほとんどなくなった。
……んだけど、今朝方10件ほどツッコミspamを喰らってしまってがっくり。調べてみると、SoftBankのケータイから。内容から見て、目的も知性もあるように思えないので、おそらく夏休みに入って暇で暇でしょうがない貧乏な*1高校生が、独り言をつぶやいているだけだろう。こういうのは対策のしようがないから、まずたいていのspamフィルタは無力だよなー。ケータイ相手だと、IPアドレスやUAで締め出すわけにもいかないし。
とりあえず、名前だけは固定のようなので、やっつけのフィルタを書いた:
module TDiary::Filter class SpamtempFilter < Filter def comment_filter( diary, comment ) if comment.name == '【ここにspammerの名前】' then debug( "comment has bad name." ) return false end true end end end
収まるまでほっておこう。これで午後から6件ほど弾いている。って、明け方から夕方まで、知らぬ人の日記に向かって延々と独り言かよ! よっっっっっぽど暇なんだなー。そういうヤツは、ニコニコ動画でもみてろ。
*1 キャリアがSoftBankだから←偏見。
■ tDiary: 複数のURLでアクセスできる日記には、base_urlを設定しましょう
feed(RSS)経由で人の日記を読んでいて、なぜか同じ記事が複数回登場してきて不思議に思ったことがないだろうか*1。よく見てみると、それらの記事はそれぞれ別々のURLになっていたりする。
これは、同一の日記に対して、複数の異なるURLでアクセスできるような場合に発生する。たとえばこんな感じのサイトはけっこうある:
http://www.example.jp/diary/ http://example.jp/diary/
上記2つのURLで同一のコンテンツにアクセスできるような場合、現在のtDiaryのmakerss.rbプラグインでは問題が起きる。たとえばこんな状況:
- 「www」付きのURLからオーナーが日記を更新
- その後「www」なしのURLでアクセスしてきた読者がツッコミを入れる
すると、1.の時には「www」付きのURLでfeedが生成され、feedリーダに読み込まれたのち、2.によってfeed中のすべての記事が「www」抜きのURLで置き換えられる。feedリーダはこれを区別できないので、feedリーダ上には同じ記事やツッコミが2度ずつ並ぶことになる。
この問題に対処するもっとも正しい方法は、どちらか一方でしかアクセスできないようにすることだ。同じコンテンツに複数のURLがあって嬉しいことなんてない。mod_rewriteでも使って、どちらかへリダイレクトするようにすべき。
そうは言ってもmod_rewrite使えないし……なんて場合には、(tDiaryでは)少なくともfeedくらいは統一できるので、その設定をしておきましょう(やっと本題)。といっても、tdiary.confに以下の3行を追加しておくだけ:
def base_url 'http://あなたの日記の唯一のURL' end
同じ記事を何度も読ませられる読者の身になって、ゼヒ。
*1 更新してないのに過去の記事が未読扱いされてしまうLDRのバグ(?)とは別の話。
■ tDiary: openid.rbをlivedoor authに対応させた
タイトルだけで用件が済んでしまった。まぁ、1行追加するだけだったのに、今まで何をしていたのかと。
そういえばopenid.rbは、そろそろcontribからpluginへ移動すべきだろうか。「すべき」というくらいにOpenIDがメジャーになっているかというと、そうでもないような気がするし。
ただのにっきを「無料の」日記だと勘違いして書き込んでいる,とか.>コメント
えぇ〜。「ただ」には無料以外の意味もあるのに! ストールマンの気持ちが今わかった!
あああ!!なるほど!
GoogleReaderでも発生してます、RSSの記事複製現象。あと、たまになぜか日記のURLがlocalhostになっているサイトもあって、何故なんだろうとずっと疑問に思ってました。
これって、悪い人が base_url が指定されていないサイト(ドメイン)にアクセスするように自分用の DNS とかをいじってからツッコミしちゃえば、フィードリーダー経由で偽サイトに誘導出来るのでは?
バーチャルドメインが無指定のようなウェブサーバで運用している所にしか通用しませんが。
LDRのバグ(?)の原因の1つとして、tDiary 2.1.4頃にあった(今は直ってるらしい)makerssプラグインのバグがあると思ってます。
footnoteを使った日記だけおかしい〜というようなパターンなら、多分これが原因です。
以前、自分のサイトで同様の症状が出て調べたことがあったので、その時のメモを張っておきます(↓)。
無印吉澤 - tDiaryのmakerssプラグインに深入り
http://muziyoshiz.jp/20070624.html#p01