掲示板のスパム対策

自前で設置している掲示板「Kapokの掲示板」が英語のスパムで荒らされてしまいましたので、いくつかの対策をしました。

実施したスパム対策

いくつかのスパム対策を実施しました。

不適切な文字列を含む投稿を受け付けない

書き込まれたスパム投稿には、薬剤の名前を含むものが多くありました。具体的にはviagra、cialis、levitra等です。

スパム対策として、これらの文字列を含む投稿を受け付けないようにしました。私の掲示板の投稿フォームはphpで動いているのですが、phpで下記のように、本文中にviagraを含む場合はexitして、掲示板のMySQLのデータベースに入れないようにしました。

strposは、引数1の中で引数2が最初に現れる位置を返す関数です。文字列が含まれなければfalseを返します。

参考:strpos関数(php)

複数の入力を必須とする

スパム投稿では意味不明なタグが1つのみついている投稿がすべてでした。

対策として、2つ以上の複数のタグ(半角スペース区切り)の入力を必須としました。

指定の文字列を含む投稿を受け付けないようにした時と同じく、phpのstrpos関数で、半角スペースが含まれる事を必須にしました。

タグの複数指定は、ユーザーの使い勝手を大きく制限するため、一般的には不適切な対策だと思います。ただ、私の掲示板を使っているのはほとんど私1人なので、この対策を取ることにしました。

その他のスパム対策

今回私の掲示板では対策を実施しませんでしたが、他にもスパム対策の方法はいくつかあるようです。

  • urlを変更する
  • キーワードの入力を必須とする
  • 日本語が含まれているかを確認する

対策概要:初心者でもできるスパム対策(spam measures)

今後もスパムが投稿されるようでしたら、これらの対策も実施していこうと思います。

関連記事

コメントを残す

メールアドレスが公開されることはありません。