メールアドレスをWebに載せると、迷惑メールがたくさんやってきます。 どのようにしてこれを防いだらいいでしょう。

実にたくさんの方法があります。それぞれ得失があり、決定版というのはありません。 検討と実験を行って実際の効果を確かめた後、自分にあった対策をとるのが望ましいです。

しかし、これらの方法はアイデア勝負のところがあり、実際のところいくらでもアイデアは出てきます。 ひとつひとつを詳細に検討と実験を行って全て網羅するのはムリなところがあります。

いっそのこと対策のアイデアだけを100書いてみましょう。検討と実験無しでも、これだけ集めると価値があるでしょう。

この対策は、以下のような組織向きです。

メールアドレスを迷惑メール業者に知られないようにする対策

メールアドレス収集ロボットを使用する業者への対策です。

表示する時の対策

1〜30 mailto:を使って、メールソフトの自動起動を使う対応 またはmailto:を使用しなくても、閲覧者のメールソフトを自動起動する方法

  1. アットマークをHTMLエンティティで表示する(「@」と書けば、ブラウザ上では「@」となる)
  2. メールアドレスをHTMLエンティティで表示する
  3. メールアドレスをHTMLエンティティにし、間に改行を入れる。
  4. mailto:タグをHTMLエンティティにする。
  5. mailto:タグをHTMLエンティティにし、間に改行を入れる。しかし、この方法はメールソフトの起動について期待した動作が行えない。
  6. メールアドレスをJavaScript?でDocument.writeで表示する
  7. *<a href="mailto:test">としておき、@以下をJavaScript?で補完する
  8. メールアドレスを暗号化し、JavaScript?で複号してDocument.writeで表示する
  9. メールアドレスを全角にし、JavaScript?で半角に変換してDocument.writeで表示する
  10. メールアイコンをクリックするとJavaScript?でmailto:を表示するようにする
  11. メールアドレスを表示せず、フォーム→サブミットボタンを押すと表示するようにする
  12. メールアドレスを表示せず、フォーム→サブミットボタンを押し、簡単な質問(なぞなぞ)に答えると表示するようにする
  13. メールアドレスを表示せず、Captcha機能(歪んだ文字)付きフォーム→サブミットボタンを押すと表示するようにする
  14. dummy@nanbu.com ←こちらはニセモノです。これを使った場合にはブラックリストに載せます」という表示をいっしょに出しておく。ブラックリストに登録されたメールアドレスからは受信しない。
  15. リファラーをチェックして、ロボットらしきものにはメールアドレスを表示しない
  16. アクセスログをチェックして、クロウしているようなものにはメールアドレスを表示しない
  17. FLASHよりメールソフトを起動させる
  18. PDFのメールリンク機能を利用する
  19. htmlを暗号化する
  20. AJAX化して、メールアドレスはサーバよりのXML通信で取得する
  21. メールアドレスの@を★にして、「★を@に変えてくださ い」と書いておく
  22. メールアドレスを「test@nanbu.com.com←最後の.comを削除してください」としておき、メールソフト上でに余計な文字を追加して、「最後の.jpを削除してください」と書いておく
  23. 小文字のメールアドレスを使う。「testREMOVE@PLEASEnanbu.com」としておく。
  24. JavaScript?でメールアドレスをスロットマシン状にシャッフルする。当たった時のみ、正規のメールアドレスであることがわかるように光る。光らないとmailto:が有効にならない。
  25. JavaScript?で暗号解読風にかっこよく徐々に表示させる。2,3分かかってようやく表示される。表示が終わらないとmailto:が有効にならない。
  26. インスタントメッセンジャーのアドレスリンクを表示しておく。チャット上にメールアドレスが自動応答される。
  27. インスタントメッセンジャーのアドレスリンクを表示しておく。プロフィール上にメールアドレスを表示しておく。
  28. 「迷惑メール対策を兼ねて、アンケートを実施しています。メールアドレスはアンケートの次のページで表示されます」
  29. 「クリック募金」のようなリンクを作り、リンクをクリック済みならメールアドレスが表示される
  30. 会員制にする。

上に掲げた方法のうち、HTMLエンティティを使うやりかたはよく使用されていますが、効果が薄いようです

31〜50 mailto:を使わずに、メールソフトの自動起動を使わない上での対応

  1. 単にmailto:を使わないだけ
  2. メールアドレスを画像にする
  3. メールアドレスをCaptcha画像(歪んだ画像)にする。
  4. アットマークを画像にする
  5. アットマークの前後に空白をつける
  6. メールアドレスを公開せず、メール送信フォームを設置する
  7. メールアドレスの@以降をカタカナにする。
  8. test"AT"nanbu.comというように書く
  9. FLASHで表示する
  10. PDFで表示する
  11. *メールアドレスを表示するところをリクエストフォームにし、メールアドレスを入力するとそのメールアドレスにメールが届くようにする
  12. ZIPファイルにしておき、解凍にパスワードが必要。パスワードはWebページに書いておく。

自分のメールアドレスを知られたくない相手には、メールサポートとは別のものが必要になります。

  1. サポート掲示板を設置して対応
  2. Wikiで対応
  3. ブログのコメントで対応
  4. ブログのトラックバックで対応
  5. RSSで返事

携帯電話対策

JavaScript?の使えない携帯電話への対策

  1. 携帯へはパソコンの画面上にあるQRコードで
  2. 携帯ゲートウェイからのアクセスの場合のみmailto:を有効にする
  3. RSSで返事

メールアドレスを知られることを前提とする場合

メールアドレスは知られないことは不可能。Web上では秘密にしておいても、他のルートで漏洩することは避けられない。そもそも連絡を受付ることが前提なので、あまり神経質にするのは本末転倒だ。

受信側はどうするか

これは、個人ベースで対策しないといけない。

  1. Thunderbirdなど、迷惑メールフィルタ機能の付いたメールソフトを使用する
  2. 個人でRBLリストを使う
  3. プロバイダの迷惑メール削除機能を使う
  4. アンチスパムソフトを利用する
  5. 迷惑メール機能つきIDSをゲートウェイに設置する
  6. mailto:でタイトルを指定しておく。特定のタイトルのメールしか受け取らない
  7. mailto:で本文のフォーマットを設定しておく。特定のフォーマットのメールしか受け取らない
  8. 送られてきたメールは、1通目は受信するが,2通目はこちらからの返信が確認できないと受信できないようにサーバを設定しておく

受信メールサーバでの対処

サブアドレスを使う方法

  1. メールサーバにサブアドレスを使い、一定期間で更新する
  2. Webに載せるメールアドレスはフリーメールを使い、一定期間で更新する
  3. ワンタイムメールアドレスを使う(1)Webリクエストごとに別のメールアドレスを生成
  4. ワンタイムメールアドレスを使う(2)日付によって別のメールアドレスを生成
  5. ワンタイムメールアドレスを使う(3)メールアドレス取得要求ごとに別のメールアドレスを生成 期限付
  6. ワンタイムメールアドレスを使う(4)メールアドレスにリモートホストを埋め込み、そこを経由したメールしか受け付けない
  7. ワンタイムメールアドレスを使う(5)メールアドレスにメールタイトルのハッシュを埋め込み、タイトルと一致したメールしか受け付けない

サーバ上でのその他の対処

  1. 遅延処理を行う SMTPコマンドごとに応答を遅らせ、相手のスクリプトの効率低下を図る。
  2. 送信元メールアドレスのドメイン名が実在するかチェックする
  3. 送信元メールアドレスが実在するかどうか、SMTPセッションを使って確認する。
  4. グレイリスティングを使う
  5. IPホワイトリストを使う
  6. HELOコマンド/EHLOコマンドチェックを行う
  7. 上のような対策をhtml中に入れるのはめんどくさいので、mailaddress.nanbu.com?id=1234のようなメアドサーバーへのリクエストによって表示するとコンテンツを作る側も簡単になる。
  8. ネームサーバによるホスト認証を行う

例えば、test@nanbu.comとあります。 サブアドレスを導入すると、 これをtest-toiawase@nanbu.com test-support@nanbu.com などとしても、全部test@nanbu.comに届きます。

Webページには、test-toiawase@nanbu.com としておいて、迷惑メールが

その他

  1. info@〜やsupport@〜などはRFC2142で推奨されているアドレスであるが、これをあえて使わない。

お笑い

  1. Waveファイルに録音して、メールアドレスを読み上げる
  2. ActiveXを使ってOutlookExpress?を制御する
  3. メール送信.exeをダウンロードしてもらって送信してもらう
  4. レジストリファイルに書いておき、次回起動時に勝手に送信する
  5. VRMLで表示する。3Dで回ってかっこいい。無駄に見た目にこだわるクライアント向き。
  6. Canvas要素で表示する。ベクター情報を使うのでソースを読んでもわからない。
  7. SVGでグラフィック表示
  8. OpenOffice?で表示する。うまくいけばプラグインでインラインフレーム内に表示できる
  9. Microsoft Officeで表示する。うまくいけばプラグインでインラインフレーム内に表示できる
  10. mixiの自分のページに飛ばす。誰が見たか記録して悪用対策。
  11. Javaアプレットを利用し、サーバからメールを送る
  12. Java Web Startを利用してメールを送る
  13. VMLでグラフィック表示
  14. 裸眼立体視グラフィックで表示
  15. メールアドレスを暗号化し、暗号化したものを載せておく。頭のいい人しか復号してメールを送れない。
  16. 逆に並べ替える
  17. ISOファイルにしておく。CDに書くと見えるようになる。
  18. VNCのリバースプロキシモードがダウンロード・実行されるようにして、接続してきたクライアントを操作して、メールソフトを起動し、メールアドレスをタイプインする。
  19. グラウンドの芝生を刈り取ってメールアドレスを描く。google mapsの衛星画像の自社の座標にリンクを貼り、見てもらう。
  20. TELをかけると自動応答でメールが教えてもらえる。
  21. amazonのレビューにリンクし、そこで公開しているメールアドレスを読んでもらう。お小遣いにもなってお得!
  22. 「メールアドレスはこちらをクリック」として、エントランスFLASHをここぞとばかりに使いまくる
  23. 「メールアドレスはこちらをクリック」として、ストリーミング動画の最後にメールアドレスが出る。苦痛でも、早送りせずにみないといけない。
  24. AnonymousFTPサーバにアクセスさせて、パスワードメールアドレスに送信する

他サイト

ここまで書いたものは、一般的なものや、私が独自に考えたものですが、以下に他サイトで独創的なものを示します。

  1. 3秒後に表示する http://www.nikkei-azabu10.com/smail.html 実例も表示され、おすすめです。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS