現在地 HOME > 掲示板 > テスト7 > 909.html ★阿修羅♪ |
|
Tweet |
(回答先: テスト 投稿者 クエスチョン 日時 2004 年 9 月 02 日 07:35:03)
迷惑メールの受信を回避しながらWebでメール・アドレスを公開する方法
http://www.atmarkit.co.jp/fwin2k/win2ktips/478spamblock/spamblock.html#ope
デジタルアドバンテージ
2004/09/25
対象ソフトウェア
なし
Summary
■ スパム・メールやウイルス・メールの被害が深刻化している。
■ スパマーは、インターネットを巡回して、メール・アドレスを収集するツールを活用している。
■ ウイルスの中には、Webキャッシュを走査してメール・アドレスを見つけ出し、そこに感染メールを送信するものがある。
■ こうした迷惑メールの送信を防止するには、Webにメール・アドレスを公開するときに、機械的にそれがメール・アドレスとして読み取れないような工夫をするとよい。
解説
商品広告などを不特定多数に発信するスパム・メールや、ウイルスに感染したコンピュータが手当たり次第に発信するウイルス感染メールなど、迷惑メールの被害が年々深刻化している。受信してしまったスパム・メールを自動的に振り分ける(これにより、ユーザーから見えないようにする)機能を持ったメール・ソフトや、そうした機能を提供する専用ソフトウェアなども販売されている。迷惑メール受信によほど困っているなら、こうしたソフトウェアの導入を検討する手もあるだろう。
しかしそもそもは、迷惑メールを送信されないようにしたいところだ。これには、信用できないWebサイトなどでメール・アドレスを登録しない、手当たり次第に送られてきたスパム・メールに「配信停止希望」などの返信をしない(返信があると、スパマーは「生きた」アドレスとして認識し、さらに多数のスパム・メールが送信されることになる)など、個人的に注意すればある程度は被害を防止できる部分はある。
しかし問題は、Webページ上などにメール・アドレスを掲載する場合である。例えば会社への問い合わせアドレス(例えばinfo@example.jp)や、求人用アドレス(例えばrecruit@example.jp)など、Webページを見た不特定多数のユーザーへの窓口として、メール・アドレスを告知する必要に迫られる場合がある。これがスパマーやウイルス・メールの餌食になる。
メール・アドレスを収集しているスパマーは、ハーベスタ(「harvester」=「収穫機」の意味)やクローラー(「crawler」=「はい回る虫」の意味)と呼ばれるプログラムを持っており、これを使って定期的にインターネット上のWebを走査し、メール・アドレスらしいデータを自動的に収集している。
メールを介して感染を広げるウイルスの中には、コンピュータ内のWebキャッシュを走査して、上記のハーベスタなどと同じくメール・アドレスを収集し、そのアドレスに向けて感染メールを送信するものがある。
Webに公開したメール・アドレスが、こうしたハーベスタやウイルスに見つかると、そこにスパム・メールやウイルス・メールが大量に送りつけられる。
対策方法
メール・アドレスを機械的に読み取れないようにする
こうした迷惑メール送信を防止しながら、Webでメール・アドレスを公開するにはどうすればよいだろうか。さまざまな工夫があるが、これらは総称してスパム・ブロックなどと呼ばれるようだ。すべてではないが、代表的なスパム・ブロックの方法を以下にまとめよう。
1.使い捨てのメール・アドレスを使う
メール・サーバを所有しており、自由にアドレスを作成できるなら、一定期間ごとに公開したメール・アドレスを使い捨てるという手段がある。メール・サーバを所有していなくても、hotmailなどの無償メールを利用すればこれは可能だろう。例えばinfo@example.jpというアドレスに大量の迷惑メールがやってくるなら、このアドレスは捨てて、info1@example.jpなどを作るという方法だ。以後はinfo2@example.jp、info3@example.jp…としていけばよい。ただし、会社で告知するアドレスなどでは、体裁上この手段は使いにくいだろうし、あて先不明のエラー・メールが、管理者あてのメール・ボックスに大量に届くのは避けられない(あて先のメール・アドレスが存在しない場合、送信元へエラー・メールが返されるほか、一般的にはメール・サーバの管理者にも送信されるようになっている)。
2.メール・アドレスを擬そうする
ハーベスタは、メール・アドレスの主要な発見方法として、単純な文字列のマッチングを利用していると想像できる。従ってこれに対抗するには、人間には分かるが、プログラムにはメール・アドレスとは分からないような工夫をしてWebに公開すればよい。
例えば、“info@example.jp”だったとすると、
info.SPAMBLOCK@REMOVE.THIS.example.jp.INVALID
などとして、余計な文字列を挿入しておく。大文字の部分を人間が削除すれば、正しいメール・アドレスになるというわけだ。これ以外にも、“@”の代わりに「ATMARK」とフルスペルで記述するなどもある(ハーベスタが“@”をマッチングに利用していると想定した手法)。
しかしこの方法の欠点は、メール・アドレスの仕組みをよく知るコンピュータの熟練ユーザーには問題ないが、エンド・ユーザーに対しては分かりにくく、正しいアドレスを取得できない可能性があることだ。
3.メール・アドレスをビットマップで表記する
公開したいメール・アドレスの表記をビットマップにして、文字コードの代わりに表示するという方法もある。これなら、正しいアドレスをそのまま表示することが可能で、初心者ユーザーにとっても誤解は少ないだろう。
この方法にしたところで、ビットマップの文字認識を実行すれば、アドレスが機械的に読み取られる危険性はあるが、実際にこのような方法を利用するハーベスタは(今はまだ)存在しないようである。
4.JavaScriptでアドレスを生成する
ビットマップを応用する3.の手段もよいが、メールを送信するユーザーは、表記を見ながら手でアドレスを入力しなければならない。mailtoとしてアドレスをビットマップのリンクとして設定できれば、メール・アドレスは入力不要になるが、mailtoで指定したアドレスがハーベスタに収穫されてしまう可能性がある。
表示もそのまま、mailtoリンクも設定したいというなら、JavaScriptを使ってアドレスをスクリプトで生成するという方法がある。例えば次のようなコードである。
<SCRIPT LANGUAGE="JavaScript">document.write("<a href=\""+"mailto:"+"info"+"@"+"example"+".jp"+"\">
"+"info"+"@"+"example"+".jp"+"</a>");</SCRIPT>
これは最も単純なスクリプトで、単にJavaScriptの文字列連結とwriteメソッドを利用して、メール・アドレスとmailtoを指定しているだけだ。このページを表示すると、クライアント側のブラウザでスクリプトが実行され、次のように展開される。
<a href="mailto:info@example.jp">info@example.jp</a>
これをブラウザで表示すると、“info@example.jp”がリンク文字列になり、クリックするとこのアドレスが設定された状態で新規メール用ウィンドウが表示される。
ここでは最も単純な文字列の連結のみを使った。これでも相応の効果が期待できるが、インターネットには、さらに本格的なスクリプトが紹介されているようだ。
初心者ユーザーにとっては、この方法が一番親切だろう。ただしJavaScriptの実行が無効になっていると、この方法は使えないので注意が必要である。