コメント・スパム対策に「ひらがなを含まないコメントを受け付けない」という考えを思いついてみる。似たようなものにASCIIのみのコメントを弾くという手法があり、これがとても有効なので、そこまでしなくても・・・という感じではありますが、こうするとマラヤラム語やアフリカーンス語のコメント・スパムや、ASCIIじゃないんだけど欧米では比較的良く使われる文字(©とか€とか)を含むコメント・スパムも弾けそうかなと。
$str
にコメントの文字列が含まれるとすると、Perl 5.6以降(多分)なら、
$str =~ /\p{InHiragana}/
という正規表現でチェックできるはず。まだ、実装していないのでうまく動くかわかりませんが。
\p{hoge}
とか初めて使った!
基本的にまっとうな解決法ではないなぁ・・・。かといって、ベイジアン・フィルタでコメントを振り分けるとかTypeKeyで認証とかはリッチすぎる気がする。特にblosxomみたいなコンパクトなスクリプトを利用している場合には。結局は国家権力による規制とかで根本的に断つことが重要なのか。
writebackに\p{InHiragana}
でComment/TrackBackの本文にひらがながあるかどうかをチェックする機能を導入してみました。きちんと動いてるっぽい感じ。
ちょっと不具合があったので、ASCIIのみかどうかチェックに戻しました戻したけど、もう一回\p{InHiragana}
でチェックするようにしてみる。