WhiteBOX設定編/(17)メールフォームの導入 の変更点


#navi(WhiteBOX設定編)

*メールフォームでスパム対策 [#uf340160]
- 管理者宛のメールアドレスにスパムメールが押し寄せるようになってウザくてたまりません。
- あれこれ対応策を試みてますが、その経過状況です。 まだまだ続くヌカルミぞ(^^;)

#contents

** 導入の動機はSPAMメール対策 [#ebcc5138]
- ホームページ開設時から管理者宛の連絡先として、メールアドレスをトップページに掲載していました。メールアドレス自体は、当初はプロバイダのアカウントでしたが、メールサーバを立ち上げてからは、sysop@kurarinet.com となっていました。
- html文に、以下のように記述しておけば、クリックするだけでOutlook Expressが宛先入りで立ち上がるわけで、本来は便利な機能です。
 ■連絡先 <IMG height=24 src="mail.gif" > <a href="mailto:sysop@kurarinet.com"><B>sysop</B></A>
 &ref(mailto.jpg);&br;

- 近年スパムメールが急増し、困り果てて、メールアドレスを変更する人も少なくありません。
- サーバ管理者のメールも例外ではありません。まして、公開のホームページで堂々とメールアドレスをさらしてるわけですから、狙われないはずがありません。昨年の夏ごろから、急増しています。
- メールアドレスの収集にはいろんな手があると思いますが、ロボットがホームページを巡回してかき集めてくるのが一般的なようです。


** Javascriptも使ってみましたが、、 [#y5d1ca47]
- 掲示板でも、スパム対策が話題になりましたが、メンバーの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>

-ブラウザのステータスバーにも、 http://kurarinet.com/# と表示されるだけです。&br;
 &ref(javamail.jpg);&br;

- 基本的には、mailtoと同じなのですが、htmlソース上は、構文とメールアドレスを分解して並べ替えることで、収集ロボットに対する「目くらまし」作戦です。人が見ればすぐ分かりますが、なかなか巧妙な仕掛けだと思います。
- 8月頃こっそり仕掛けました。その時は効果があったと思います。直後、激減しました。しかし、半月ほどでボチボチ来るようになり、11月になると、1日20~30通が届く有様です。

- 前置きが長くなりましたが、スパム対策はメールアドレスを完全に隠蔽するしかない!というわけで、メールフォームを導入することにしました。


** 導入したメールフォーム [#kd28ac27]
- インターネットを回っていくつか見つけて試しましたが、使ったのはこれです。&br;
 メールフォームスクリプト「mailform.php」 (c)2005 [[WEBサーバプログラミング研究所>http://wspri.dip.jp/]]
- 特長としては
++PHPタイプ&br;
対象者は不特定多数のため、CGIでは不可。ただし、理由はうちのサーバ特有の事情です。サーバ構成上CGIディレクトリ自体にアクセス制限かけてあり、フォームを呼出す段階でメンバー限定となってしまうのです&br;
++メールだけでなく、管理者画面でも、内容確認ができる&br;
逆に言うと、メールサーバの環境がなくても使用できるわけ


** 導入手順 [#h59fcab1]
- スクリプトは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>
 &ref(phpmail.jpg);&br;

- 書き込みがあると、 mailform.datに追記することになっているが、最初、dataファイルがなく書き込みエラーが発生!?(ソース見ると、自動的に作成することになっているが、動作せず??)
- やむなく、手動でファイルを作成し、アクセス権限を調整
 # touch mailform.dat
 # chmod 666 mailform.dat

** 主なカスタマイズ [#n33b3ac4]
- クリックすると、以下のようなフォームが表示されます。入力して送信すれば、管理者宛にメールが送信される仕掛けです。&br;
   &ref(mailformf.jpg,,60%,mailform);&br;
- ほとんどそのまま使っていますが、以下を一部変更
++ フォーム名表示 当然ですが
++ 戻り先も
-ソースがS-JISなので、サーバ上で手直しすると文字化けで編集がたいへんだった。(PCで修正して再アップ。PCからの書き込みが基本なので、あえて文字コード変換せず、S-JISベースにしておいたのです。

&br;&br;
- なお、管理者画面のイメージはこのようになります。投稿された情報が新しい順に表示されます。&br;
  &ref(mailformk.jpg,,60%,admin_mailform);&br;
   &ref(mailformk.jpg,,60%,admin_mailform);&br;

- メールサーバが動作していれば、そのままメールが届きます。なお、送信者には、宛先のメールアドレスは一切表示されません。オープンにしてないので安心だし、宛先も随時変更が可能というわけです。
- この対策に伴い、sysopアカウントは廃止しました。新アカウントは非公開です。

** 今後の心配 [#n44435aa]
- 掲示板あらしが心配ではあります。AKIさんの掲示板が閉鎖したいきさつもあります。
-「PHASER(フェイザー)」という掲示板攻撃スクリプトがあって、スパムみたいに、大量のいたずら書き込みを自動で仕掛けてくるものです。
- 対策としては、captcha(ランダム画像による認証)がありますが、今後追加を検討しなければならなくなるかもしれません。

(2006年12月2日 記)

#navi(WhiteBOX設定編)
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   リンク元