ここのところ微妙にコメント・スパムが増えてきたので、とりあえずスパム対策のコードを追加してみた。URLに入れられている文字列が、ブラックリストなドメインを含んでいる場合、投稿させないというアプローチにしました。要はパクり!

あんまり使い方を説明する気は無いので、ソースを見て勘で欲しい人はフィードバック・フォーム! 44行目がブロックするドメインを羅列するデータファイルのパスの設定で、実際の処理は155~163行目です。

また、ブロックするドメインを羅列するデータファイルの構造は、

hail2u.net
example.com
example.net

という感じで、1行に1つのドメインが書かれている形です。単純な正規表現で含まれているかどうかチェックしているだけなので、別にドメインでなくURLでもOK。

ついでにComment投稿の時は文字コードの変換を行わないようにして"~"が"〓"になるJcodeの有名な不具合に対処しておく。TrackBackはどうしようもないかな(やろうと思えばできるのですが)。こちらは173行目です。既にうちのwritebackを使っているサイトで"~"が"〓"なってうざったいという人は、こちらは適用する価値はあるかも。

エライ適当な実装で笑えない。

ほら、スパムが来るのはカリスマblosxomユーザーだから。とか書こうとしたら恥ずかしくて涙が出てきました。