2005Jul06
Blogn(ぶろぐん)にコメントスパム対策
コメントスパム対策を導入しました。
まあ普通のコメントすらほとんど付かない過疎ブログですけど、そのうち役に立つ日が来るかもしれないしね<もちろんコメントスパムなんか一生来てほしくはないけど。
今回の改造は禁止ワードが含まれているかどうかをスパムの判断の基準にするというとても単純なもの。「Movable Type」のスパム対策でよく用いられている「アルファベットだけのコメント=スパム」という判定も組み込みたかったけど、そこまで PHP の知識がなくてあえなく断念。
それからトラックバックスパム対策も一緒にしたかったけど、上手く動かなかったので、今後の課題として残しておく事に。
改造方法(v1.9.2 の場合)
- 「index.php」書き換え
- 禁止ワード設定ファイルの作成
1. 「index.php」の書き換え
コメントが投稿された時、そのコメント内に禁止ワードが書かれているか判定をする機能を付けます。コメント内に禁止ワードが
- 含まれていた場合 → コメントを破棄し、別のコメントを表示
- 含まれていない場合 → コメントを掲載
// 使用禁止ワード
$c_message = strtolower($c_mes);
$data = fopen(LOGDIR."ngwd.dat", "r");
$deny = fgets($data, 1024);
$ng_word = explode(",", $deny);
if (is_array($ng_word)) {
foreach ($ng_word as $deny_wd) {
if (preg_match("/$deny_wd/", $c_message) || preg_match("/$deny_wd/", $c_url)) {
$c_mes = "コメントに禁止ワードが含まれていたため、表示が規制されました。";
$c_url = NULL;
}
}
}
fclose($data);
2. 禁止ワード設定ファイルの作成
次に禁止ワードを羅列した「ngwd.dat」というテキストファイルを作成。書式は下記のように禁止ワードを1つずつ半角コンマで区切っただけ(アルファベットの場合は全部小文字)。
単語1,単語2,単語3,・・・・・,単語n文字コードを EUC で保存し、Blogn をインストールしたディレクトリ下の「log」ディレクトリに置きます。
※ もっと詳しい解説は「ぶろぐん・サイト作成に関するヒント集」で読めます。
関連記事
| 09:04 PM | comments (2) | Tweet
| BlognPlus 用モジュール::Blogn 関連 |
コメント
コメントに禁止ワードが含まれていたため、表示が規制されました。
| CJ | URL | 2005/07/06 11:24 PM | 1vvR31fI |
コメントに禁止ワードが含まれていると、↑のようになります。
| CJ | URL | 2005/07/06 11:26 PM | 1vvR31fI |