Categories

Other Side

コメントスパム対策っぽいこと

Posted : 2005-10-01 11:08 / Category : [ Diary/rNote ]

最近の投稿プラグインを入れてみて、よく昔の記事に海外のポーカーサイトとかのコメントスパムがついてることがよくわかったとです。どうしたものかなぁ、と思ってたんですが。

無思考雑記帖 さンのところではリンク先のように正規表現で ASCII コードの文字のみのコメントを NG にしてるんですけど、わたしの場合はそこまですることはないかなぁ、と思って rNote のデフォルトでも存在する「記録しないリファラ」の機能を応用することに。

rnote_config.php に $ng_comment[]='poker';みたく NG ワードを追加して、rnote.php の Writeback 関係のあたり(520行目くらいからかね)に以下のように追記する。追記するのは global $ng_comment; と foreach 文の3行の計4行。

//=====================================
// WriteBack

function WriteBackSave(){
	global $g_bCellphone;
	global $ng_comment;

  (19行ほど略)

	$name = form_treatment($name ,FORM_CONVENC_AUTO,true,true);
	$wburl= form_treatment($wburl,FORM_CONVENC_AUTO,true,true);
	$com  = form_treatment($com  ,FORM_CONVENC_AUTO,false,false);

	foreach($ng_comment as $n) if(ereg($n,$name)) return;
	foreach($ng_comment as $n) if(ereg($n,$wburl)) return;
	foreach($ng_comment as $n) if(ereg($n,$com)) return;

  (以下略)

こうすることで名前、URI、コメント本文のいずれかに NG ワードがあった場合、「書き込みは終了したかのように見えてログファイルへの書き込み前に関数から抜けている」ので書き込みはない。別にエラー画面に遷移させてもいいとは思うけどめんどいのでこんな感じで。

万全を期するなら NG ワードに関して名前、URI、本文別々に用意したほうがいいかもしれないけど( $ng_comment_name とか)、まぁ、オンラインカジノがらみのコメントスパムならこれで対処できる、といいなぁw

[ コメントの受付は終了しています ]

Web Clap : Web拍手

Comment

1: 鯖缶 (2005-10-01T14:29:47)
はじめまして。
無思考雑記帖の中の人です。
ASCIIコードのみだったら無条件に弾くより、上記の方法の方が良いかもしれませんね。
#日本の人でもHNがアルファベットだけの人なんか居ますので。
2: かろかろ(Admin) (2005-10-01T17:15:35)
ありがとうございます。
でもこれの場合永遠のいたちごっこなんですよね……
# さっそくバカラとかルーレットでやられたorz
このページの先頭へ