スパム投稿を減らす小技 †投稿フォームのURLを頻繁に変更する †投稿のために使用するフォームのURLを頻繁に変更すると、スパム対策になるようです。 フォームのフィールドの名前を意味不明のものにする †特に海外からのスパム投稿は、HTMLソースを解析して、フォームのフィールド名で何を入力するか見当をつけ、送信をしているようです。例えば、テキスト入力フィールドに"URL"という名前を付けていると、ここにはURLを入力するものと察しがつきます。同じように、"email"にはメールアドレス、"name"には名前、"subject"には題名、"comment"にはコメントを入力することは簡単に分かってしまいます。 よって、フィールド名は意味不明のものにして、どのような値を入力したら良いのか分からないようにすべきです。 さらには、これを逆に利用して、URL入力フィールドに"email"、メールアドレス入力フィールドに"url"などとわざと紛らわしいフィールド名をつけて、URL入力フィールドにメールアドレスを入力した投稿はスパムと判断するということもできるでしょう。 分かりにくいURLにする †例えば、"mail.cgi"というページ名では、メールフォームであることが明白です。また、"bbs.cgi"では、掲示板であることが見え見えです。このように、そのページが何のページであるかすぐに分かってしまうようなURLをつけないようにします。 サーチエンジンから投稿フォームを隠す †大量の投稿を行うスパマーは、自動的に投稿を行うプログラムを使用している場合がほとんどでしょう。そのようなプログラムには、サーチエンジンを使ってスパムを送りつける対象を探すものもあるようです。このようなスパマー対策として、サーチエンジンに投稿フォームが表示されないようにする(あるいは、掲示板ごと隠す)方法が考えられます。 サーチエンジンからページを隠す方法は、robots.txtを使う方法と、メタタグを使う方法があります。 robots.txtを使う場合、サイトのルートに"robots.txt"ファイルを作成して、次のような内容を記述します。(ここでは、bbsディレクトリのform.cgiを隠しています。) User-agent: * Disallow: /bbs/form.cgi またメタタグを使う場合は、隠したいページのヘッダに次のようなメタタグを記述します。 <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> 詳しくは、Google のインデックスにコンテンツが登録されないようにする、またはインデックスからコンテンツを削除する方法を教えてください。などをご覧ください。 投稿フォームをPOSTで表示する †上記の「サーチエンジンから投稿フォームを隠す」に関連して、投稿フォームをPOSTでしか表示できないようにすると、スパマーに見つかりにくいかもしれません。 |