WhiteBOX設定編/(17)メールフォームの導入 のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- WhiteBOX設定編/(17)メールフォームの導入 へ行く。
- 1 (2008-06-30 (月) 15:54:41)
- 2 (2008-06-30 (月) 15:55:33)
- 3 (2008-06-30 (月) 15:55:33)
メールフォームでスパム対策 †
- 管理者宛のメールアドレスにスパムメールが押し寄せるようになってウザくてたまりません。
- あれこれ対応策を試みてますが、その経過状況です。 まだまだ続くヌカルミぞ(^^;)
導入の動機はSPAMメール対策 †
- ホームページ開設時から管理者宛の連絡先として、メールアドレスをトップページに掲載していました。メールアドレス自体は、当初はプロバイダのアカウントでしたが、メールサーバを立ち上げてからは、sysop@kurarinet.com となっていました。
- html文に、以下のように記述しておけば、クリックするだけでOutlook Expressが宛先入りで立ち上がるわけで、本来は便利な機能です。
■連絡先 <IMG height=24 src="mail.gif" > <a href="mailto:sysop@kurarinet.com"><B>sysop</B></A>
- 近年スパムメールが急増し、困り果てて、メールアドレスを変更する人も少なくありません。
- サーバ管理者のメールも例外ではありません。まして、公開のホームページで堂々とメールアドレスをさらしてるわけですから、狙われないはずがありません。昨年の夏ごろから、急増しています。
- メールアドレスの収集にはいろんな手があると思いますが、ロボットがホームページを巡回してかき集めてくるのが一般的なようです。
Javascriptも使ってみましたが、、 †
- 掲示板でも、スパム対策が話題になりましたが、メンバーのTさんから教えてもらった情報を参考に、Javascriptを使ったメールアドレスかく乱策を試してみました。
<SCRIPT language=JavaScript> <!-- function gen_mail_address(obj) { var mail_address = '@' + 'kurarinet.com'; mail_address = 'sysop' + mail_address; obj.href = 'mai' + 'lto:' + mail_address; } //--> </SCRIPT> ■連絡先 <IMG height=24 src="mail.gif" ><a href="#" onclick="gen_mail_address(this)"><B>sysop</B></A>
- 基本的には、mailtoと同じなのですが、htmlソース上は、構文とメールアドレスを分解して並べ替えることで、収集ロボットに対する「目くらまし」作戦です。人が見ればすぐ分かりますが、なかなか巧妙な仕掛けだと思います。
- 8月頃こっそり仕掛けました。その時は効果があったと思います。直後、激減しました。しかし、半月ほどでボチボチ来るようになり、11月になると、1日20~30通が届く有様です。
- 前置きが長くなりましたが、スパム対策はメールアドレスを完全に隠蔽するしかない!というわけで、メールフォームを導入することにしました。
導入したメールフォーム †
- インターネットを回っていくつか見つけて試しましたが、使ったのはこれです。
メールフォームスクリプトmailform.php (c)2005 WEBサーバプログラミング研究所 - 特長としては
- PHPタイプ
対象者は不特定多数のため、CGIでは不可。ただし、理由はうちのサーバ特有の事情です。サーバ構成上CGIディレクトリ自体にアクセス制限かけてあり、フォームを呼出す段階でメンバー限定となってしまうのです - メールだけでなく、管理者画面でも、内容確認ができる
逆に言うと、メールサーバの環境がなくても使用できるわけ
- PHPタイプ
導入手順 †
- スクリプトは1本 mailform.php だけ。これを、ホームページディレクトリにおくだけ
/var/www/html(ホームページ) |-- index.php トップページ |-- mailform.php プログラム本体 |-- mailform.dat 入力されたデータを蓄積
- 従来のmailto の代わって、 mailform.php をリンクするだけ
■連絡先 <IMG height=24 src="mail.gif" > <a href="mailform.php"><B>こちらから</B></A></font>
- 書き込みがあると、 mailform.datに追記することになっているが、最初、dataファイルがなく書き込みエラーが発生!?(ソース見ると、自動的に作成することになっているが、動作せず??)
- やむなく、手動でファイルを作成し、アクセス権限を調整
# touch mailform.dat # chmod 666 mailform.dat
主なカスタマイズ †
- クリックすると、以下のようなフォームが表示されます。入力して送信すれば、管理者宛にメールが送信される仕掛けです。
- ほとんどそのまま使っていますが、以下を一部変更
- フォーム名表示 当然ですが
- 戻り先も
- ソースがS-JISなので、サーバ上で手直しすると文字化けで編集がたいへんだった。(PCで修正して再アップ。PCからの書き込みが基本なので、あえて文字コード変換せず、S-JISベースにしておいたのです。
- メールサーバが動作していれば、そのままメールが届きます。なお、送信者には、宛先のメールアドレスは一切表示されません。オープンにしてないので安心だし、宛先も随時変更が可能というわけです。
- この対策に伴い、sysopアカウントは廃止しました。新アカウントは非公開です。
今後の心配 †
- 掲示板あらしが心配ではあります。AKIさんの掲示板が閉鎖したいきさつもあります。
- 「PHASER(フェイザー)」という掲示板攻撃スクリプトがあって、スパムみたいに、大量のいたずら書き込みを自動で仕掛けてくるものです。
- 対策としては、captcha(ランダム画像による認証)がありますが、今後追加を検討しなければならなくなるかもしれません。
(2006年12月2日 記)