More ソフ得! =ソフトの宝島=

 第91回 HTMLエンティティ生成



WEBページにメールアドレスを「素」のまま公開するな!

電子メールの世界は、2003年後半くらいからほんの1、2年前で様相が一変しました。spam(迷惑メール)やウイルスメールの急増のせいで、電子メールの環境が滅茶苦茶になってしまったのです。
世界中のサーバーで、spamメール対策のためにいろいろなフィルターを設置し、飛び込んでくるメールを条件によって排除するようになりました。それに伴って、メールが届かない、遅れるといったトラブルが急増しています。
このへんの話や、spam対策、メールに関するさまざまなトラブルの対応法については、拙著『eメールストレス処方箋』(SCC)をお読みください。単なる宣伝ではなく、実際に被害を広げないよう、インターネットユーザーがひとりでも多く、電子メールの新事情について知ることが大切だと思っています。

さて、WEBサイトを持っているかたで、WEB上にご自分や会社の問い合わせメールアドレスを記述している人は多いと思います。通販サイトなどでは必ず問い合わせ先を明記しなければなりませんから、メールアドレスを書かないわけにはいきません。
しかし、まともにHTMLの中に

お問い合わせは info@hogehoge-pon.com へ

などと記述したら、たちまちspamロボットがそのメールアドレスを自動収集し、ある日突然に大量のspamが届くようになります。ほとんどの企業のメールアドレスはすでにspamロボットに収集されていますから、毎日膨大な数のspamが届きます。個人ではとても対処できないでしょう。
イーネットコーポレーションの代表メールアドレス宛には、毎日千通を超えるspamやウイルスが届きます。私個人のメールアドレス宛のspamも毎日数百通に登ります。これは、すでにこれらのメールアドレスがspam業者のリストに収集されてしまっているからなのですが、代表メールアドレスは重要な連絡先として無数のデータベースに登録していますから(たとえばドメインの管理者として)、削除するわけにはいきません。
これからWEBサイトを立ち上げようとするかた、まだspam被害が少ないかたは、ぜひ今すぐに、WEB上に公開するメールアドレスを「暗号化」して、spamの被害を防いでください。

メールアドレスの「暗号化」とは何か?

「お問い合わせは info@hogehoge-pon.com へ

という部分をHTMLの中に記述したとき、ソースは以下のようになっています。
メール自動送信タグのソース
spamのターゲットにするメールアドレスを自動収集しているクロールロボットは、このHTMLソース内の「mailto:」というタグや、アットマーク(@)をメールアドレス部分の判別記号として収集します。ですから、この書式でHTMLに「まともに」メールアドレスを記述していては、spamロボットの餌食になるのは時間の問題です。
これを防ぐために、メールアドレス部分を画像にして貼り込んだり、@部分をわざと全角にしてみたりといった対抗手段が考えられましたが、こうした方法ですと、コピー&ペーストして利用するわけにいきませんし、当然、WEBからのメール自動送信も使えません。

「お問い合わせは info@hogehoge-pon.com へ」
↑これはメールアドレスの判定に使われる「@」をわざと無効の「@」(全角記号)に変更して記述した例です。全角文字はもちろんメールアドレスとしては機能しませんから、この文字列をコピー&ペーストしてメールを送信しようとしてもエラーになりますし、mailtoタグを使った自動送信もできません。

そこで、メールアドレス部分のみを、以前、「Unicoder」のときにご紹介した、「Unicodeの数値文字参照方式」という記述法に変えることが考え出されました。
下の画面は、Unicoderでメールアドレスを数値参照方式に変換しているところです。
Unicoderの画面
これを使うと、「info@hogehoge-pon.com」というメールアドレスは、
とソース内で表記されます。しかし、ブラウザ上ではきちんと(数値ではなくまともな文字として)表示され、これをコピー&ペーストしてもちゃんと「文字情報」のまま機能します。
ちなみに上の図の数値参照方式文字をこの下の行に貼り込んでみます。↓

info@hogehoge-pon.com
↑ね、ちゃんと表示されていますね。

ただ、これですと「正式な」文字表現の1つですから、spamロボットも進化して、すぐに対応してしまうでしょう(もう、しているかもしれませんが……(-_-)
そこで、文字列をランダムに切り分けて、一部分だけを数値参照方式に、残りを普通の文字列で表記するという方法をとることが次に考え出されました。これを自動的に処理してくれるのが「HTMLエンティティ生成」というソフトです。「エンティティ」とは「実体」という意味ですが、ここでは数値文字参照方式を取り入れたソース部分くらいの意味でとっておけばいいでしょう。
これは正確には「暗号化」ではなく、わざと変なソースに変えるというくらいの処理です。数値文字参照方式はれっきとした、いえ、最も汎用性のあるHTML内の文字記述方法ですから、本来は暗号化でもなんでもないのです。
mailto:タグを含めて、このソフトでランダムに数値文字化しておけば、ほとんどのspamロボットは騙されて素通りしていきます。特に「@」部分はメールアドレスであることの判定に使われるので、必ず数値文字化しておきます。
HTMLエンティティ生成
この方法の優れている点は、「暗号化」した部分が普通に表示されるだけでなく、ブラウザ上でコピー&ペーストしてもきちんと機能するということです。mailtoタグも機能します。
試しに上の「info@hogehoge-pon.com」をマウスでドラッグしてコピーしてみてください。ちゃんとした文字列としてコピーできるはずです。
改行を混ぜるとさらに暗号化は強化されますが、mailtoタグの途中が改行されるとメール自動送信は機能しませんし、メールアドレスの途中で改行が入ると、表示されるとき、不自然な隙間ができることもあります。しかし、安全性を第一に考えるなら、タグ以外の部分には改行を混ぜておいたほうが安心かもしれません。
ドメイン取得のことならイーネット  もちろん、この方法を見破って機能するロボットが将来出てくる可能性は大いにありますが、とりあえずは今のところ、この方法がかなり有効であることは証明されています。WEB管理者、サイトデザイナーは絶対に知っておかなければならない知識です。
なお、自分でサイトを運営していなくても、WEB上の掲示板にメールアドレスを記入したり、メールマガジンの申し込みに使ったメールアドレスなどはたちまちspam業者の手に渡ります。メルマガの申し込み、メーリングリストへの参加、通販サイトでの買い物などに使うメールアドレスは、メインの(放棄できない)メールアドレスとは別のものにしておき、いつでも捨てたり変更したりできるようにしておくことが必要です。そのためにはドメインを持つことが有効です。自分のドメインを取得し、メール転送機能を使って、「xxx@ドメイン名」のxxxの部分をいつでも自由に変更できるようにしておくとよいでしょう。

★(2005/10/26追記)
このソフトの作者サイトが閉鎖になったようです。現在、このソフトの入手方法は見あたりません。
同じ機能をWEB上からJava Scriptで実現できるページがありますので、そちらをご利用になってみてください。
こちら


『eメールストレス処方箋』(SCC) 『eメールストレス処方箋』(SCC 1470円税込)
 メールによる人間関係トラブル、外部からのウイルスやspam(迷惑メール)攻撃によって、現代人はストレス漬けになっている。かといってメールを使わないわけにはいかない……。
せめてこの本を読んで、メールストレスを軽減しよう。お、こんな方法があったのか、と思わせる意外な情報やメールの世界の裏話がいっぱい。
  Amazonで購入はこちら



 このソフトのダウンロードは現在できなくなっています。同様の機能をWEBから実現するページがありますこちらこちらから (現在、多くのフリーソフトが配布終了になっています。似たようなソフトが出ていないか、窓の杜やVECTORのサイトで探してみてください。) 


 パソコン初心者・探求者のためのガイドブック『パソコンは買ったまま使うな!』『ワードを捨ててエディタを使おう』『テキストファイルとは何か?』『eメールストレス処方箋』のご案内はこちら

前へ前へ  タヌパックのCDご購入はこちら  パソコンは買ったまま使うな    次へ次へ


index | takuki.com |  狛犬ネット | 音楽 | AICコラム |