Presented by Nishishi via Movable Type. Last Updated: 2007/11/04. 04:41:44.

スパム投稿の判別に平仮名の有無を使う

コメントスパム対策として、句読点の有無をチェックする方法を採用してたんですけど、文字コードがSHIFT-JISの場合に穴がある点を先日ネタにしました。
→「正規表現での句読点と英字A・Bの関係

それでも、ある程度の英文スパムは防げるので良かったんですけど、なんか最近、防げずに漏れる投稿が増えてきました。単純にスパム投稿量が増えてきたのか、それともスパム本文の文章量が増えたのか分かりませんが。(^_^;)

で、仕方がないので、句読点をチェックする方法はやめました。
まあやめなくても、正規表現でチェックする直前で、文字コードをEUCとかに変更してからチェックすればいいんですけど。

そうではなく、今度は「ひらがな」の存在をチェックするように変更しました。
日本語の文章なら、かなり短くても「ひらがな」が含まれない可能性は低いと思います。(特にコメントとして投稿される日本文だと。)
なので、「ひらがなが含まれなければ日本語の文章ではない」と言ってもまあ構わないでしょう。

そして、「ひらがな」の文字コードはどの1バイトを抜き出しても半角英数字と重なりませんから、うまくチェックできます。
最初からこうしてれば良かったかな。(^_^;)
しばらくは、この対策で行こうと思います。

まあこれも、「スパム投稿のほぼ全部が英語圏から来る」という前提があるからこそ使える対策ですが…。

この日記へのコメントはお気軽に! コメント数:0 トラックバック数:0

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

投稿後、投稿できていないように見えることがあります。ブラウザのキャッシュが読まれているだけですので、ページを再読込すれば(=たいてい[F5]キーを押せば)投稿内容が反映されていることが確認できるはずです。連続投稿を試す前にご確認下さい。(^^;)

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)