サイト運営のTips、ブログカスタマイズ、Web論、WebサービスなどWebを中心に幅広く。たまにPC関係の話題も。
FC2ブログには公式プラグインとして、サイドバーに設置できるタイプのCAPTCHA機能のついたメールフォームがあります。メールアドレスをBlogに載せる必要もありませんし、使っている人も多いでしょう。
ただ、私はこの機能を使用していませんでした。見てのとおりこのBlogのサイドバーにはすでに色々なものが設置してありますし、滅多に使われない上にかなりの高さがあるフォームを置く気にはなれなかったのです。代わりに同じFC2のサービスの一つであるFC2フォームレンタルを使っていました。(Blogと同じIDで使えますからね。)
ところが先日、このフォームから大量のスパムメールが送られてきました。新しいツールができたのか、たまたまターゲットにされたのかはわかりませんが、FC2フォームレンタルはspamに弱かったということです。確かにFC2ブログのプラグインにはCAPTCHAがありますが、FC2フォームレンタルの方にはCAPTCHAがありません。
急遽FC2フォームレンタルを使うのを中止し、公式プラグインの方のメールフォームをサイドバーに置かずに使うことにしました。これならサイドバーの領域を使うことはありませんし、spamも来なくなるでしょう。今回はこの「サイドバーに置かないメールフォームの作り方」を紹介します。
メールフォームのソースを一部変更し、エントリとして投稿するだけなので非常に簡単です。私の場合はエントリとして投稿せず、HTMLファイルを作って外部ファイルにしていますが、普通はそんなことをする必要はありません。(私の場合はメールフォームだけのRSSを配信したくなかっただけです。)
以下のソースを使います。一部不要な文字列と、スタイルを消しているだけです。見た目にこだわらなければプラグインからそのままコピーしても使えます。
<form action="./" method="post">
<p>
名前 :<br />
<input type="text" size="25" name="formmail[name]" value="" maxlength="100" /><br />
メール :<br />
<input type="text" size="25" name="formmail[mail]" value="" maxlength="150" /><br />
件名 :<br />
<input type="text" size="25" name="formmail[title]" value="" maxlength="150" /><br />
本文 :<br />
<textarea name="formmail[body]" cols="40" rows="6"></textarea><br />
<input type="submit" value=" 確認 " />
<input type="hidden" name="mode" value="formmail" />
<input type="hidden" name="formmail[no]" value="&formno" />
</p>
</form>
これでCAPTCHA機能付きのメールフォームは完成です。正常に動くかどうかは自分でテストしてみるといいでしょう。
スパム対策のため言及リンクのないトラックバックは反映されません
コメント
とってもわかりやすい説明ですね。
プラグイン非対応のテンプレートを使用しているのですが、この方法でクリア、なにより見た目もスマートですね!
ということでソースそのままお借りしました、ありがとうございます。
いえ、役に立ったのならよかったです。この方法は自分でも使ってますからね。サイドバーに置けない、置きたくないという需要はあるんじゃないかなと。本当はFC2フォームレンタルにスパム対策がしてあればよかったんですけどね。
こういう手もあるんですね〜。
メールを打つには、サイドバーが狭くて嫌だったのと、
何となくこの白い枠が邪魔だったので、助かりました。
ありがとうございました。
ナイスアイディアです!
サイドバーに無駄なスペースを作らずに済みます。
なによりスマートです。
拍手!!