FrontPage
メールアドレスをWebに載せると、迷惑メールがたくさんやってきます。
これをどうしたらいいでしょう。
実にたくさんの方法があります。それぞれ得失があり、決定版というのはありません。
したがって検討と実験を行い、自分にあった対策をとるのが望ましいです。
しかし、アイデア勝負のところがあり、実際のところいくらでもアイデアは出てきます。
ひとつひとつ、詳細に検討と実験を行って全て網羅するのはムリなところがあります。
いっそのこと対策のアイデアだけを100書いてみますね。検討と実験無しでも、これだけ集めると価値があるでしょう。
この対策は、以下のような組織向きです。
- ある程度大きな組織向きです。
- 自分の組織でメールサーバを触れる人向きです。
メールアドレスを知られないようにする対策 †
表示する時の対策 †
1〜30 mailto:を使って、メールソフトの自動起動を使う対応 またはmailto:を使用しなくても、閲覧者のメールソフトを自動起動する方法 †
- アットマークをHTMLエンティティで表示する(「@」と書けば、ブラウザ上では「@」となる)
- メールアドレスをHTMLエンティティで表示する
- メールアドレスをHTMLエンティティにし、間に改行を入れる。
- mailto:タグをHTMLエンティティにする。
- mailto:タグをHTMLエンティティにし、間に改行を入れる。しかし、この方法はメールソフトの起動について期待した動作が行えない。
- office@nanbu.conm
- メールアドレスをJavaScript?でDocument.writeで表示する
- *<a href="mailto:test">としておき、@以下をJavaScript?で補完する
- メールアドレスを暗号化し、JavaScript?で複号してDocument.writeで表示する
- メールアドレスを全角にし、JavaScript?で半角に変換してDocument.writeで表示する
- メールアイコンをクリックするとJavaScript?でmailto:を表示するようにする
- メールアドレスを表示せず、フォーム→サブミットボタンを押すと表示するようにする
- メールアドレスを表示せず、フォーム→サブミットボタンを押し、簡単な質問(なぞなぞ)に答えると表示するようにする
- メールアドレスを表示せず、Captcha機能(歪んだ文字)付きフォーム→サブミットボタンを押すと表示するようにする
- 「dummy@nanbu.com ←こちらはニセモノです。これを使った場合にはブラックリストに載せます」という表示をいっしょに出しておく。
- リファラーをチェックして、ロボットらしきものにはメールアドレスを表示しない
- アクセスログをチェックして、クロウしているようなものにはメールアドレスを表示しない
- FLASHよりメールソフトを起動させる
- PDFのメールリンク機能を利用する
- htmlを暗号化する
- AJAX化して、メールアドレスはサーバよりのXML通信で取得する
- メールアドレスの@を★にして、「★を@に変えてくださ い」と書いておく
- メールアドレスを「test@nanbu.com.com←最後の.comを削除してください」としておき、メールソフト上でに余計な文字を追加して、「最後の.jpを削除してください」と書いておく
- 小文字のメールアドレスを使う。「testREMOVE@PLEASEnanbu.com」としておく。
- JavaScript?でメールアドレスをスロットマシン状にシャッフルする。当たった時のみ、正規のメールアドレスであることがわかるように光る。光らないとmailto:が有効にならない。
- JavaScript?で暗号解読風にかっこよく徐々に表示させる。2,3分かかってようやく表示される。表示が終わらないとmailto:が有効にならない。
- インスタントメッセンジャーのアドレスリンクを表示しておく。チャット上にメールアドレスが自動応答される。
- インスタントメッセンジャーのアドレスリンクを表示しておく。プロフィール上にメールアドレスを表示しておく。
- 「迷惑メール対策を兼ねて、アンケートを実施しています。メールアドレスはアンケートの次のページで表示されます」
- 「クリック募金」のようなリンクを作り、リンクをクリック済みならメールアドレスが表示される
上に掲げた方法のうち、HTMLエンティティを使うやりかたはよく使用されていますが、効果が薄いようです
31〜50 mailto:を使わずに、メールソフトの自動起動を使わない上での対応 †
- 単にmailto:を使わないだけ メールソフトの自動起動ができなくなります。
- メールアドレスを画像にする
- メールアドレスをCaptcha画像(歪んだ画像)にする。
- アットマークを画像にする
- アットマークの前後に空白をつける
- CGIフォームを使う
- メールアドレスの@以降をカタカナにする。
- test"AT"nanbu.comというように書く
- FLASHで表示する
- PDFで表示する
- *メールアドレスを表示するところをリクエストフォームにし、メールアドレスを入力するとそのメールアドレスにメールが届くようにする
- ZIPファイルにしておき、解凍にパスワードが必要。パスワードはWebページに書いておく。
- サポートなどは掲示板で対応 自分のメールアドレスを知られたくない相手には、このような方法が必要です
- Wikiで対応
- ブログのコメントで対応
- ブログのトラックバックで対応
- RSSで返事
携帯電話対策 †
JavaScript?の使えない携帯電話への対策
- 携帯へはパソコンの画面上にあるQRコードで
- 携帯ゲートウェイからのアクセスの場合のみmailto:を有効にする
- RSSで返事
メールアドレスを知られることを前提とする場合 †
メールアドレスは知られないことは不可能。Web上では秘密にしておいても、他のルートで漏洩することは避けられない。そもそも連絡を受付ることが前提なので、あまり神経質にするのは本末転倒だ。
受信側はどうするか †
これは、個人ベースで対策しないといけない。
- Thunderbirdなど、迷惑メールフィルタ機能の付いたメールソフトを使用する
- 個人でRBLリストを使う
- プロバイダの迷惑メール削除機能を使う
- アンチスパムソフトを利用する
- 迷惑メール機能つきIDSをゲートウェイに設置する
- mailto:でタイトルを指定しておく。特定のタイトルのメールしか受け取らない
- mailto:で本文のフォーマットを設定しておく。特定のフォーマットのメールしか受け取らない
- 送られてきたメールは、1通目は受信するが,2通目はこちらからの返信が確認できないと受信できないようにサーバを設定しておく
受信メールサーバでの対処 †
サブアドレスを使う方法 †
- メールサーバにサブアドレスを使い、一定期間で更新する
- Webに載せるメールアドレスはフリーメールを使い、一定期間で更新する
- ワンタイムメールアドレスを使う(1)Webリクエストごとに別のメールアドレスを生成
- ワンタイムメールアドレスを使う(2)日付によって別のメールアドレスを生成
- ワンタイムメールアドレスを使う(3)メールアドレス取得要求ごとに別のメールアドレスを生成 期限付
- ワンタイムメールアドレスを使う(4)メールアドレスにリモートホストを埋め込み、そこを経由したメールしか受け付けない
- ワンタイムメールアドレスを使う(5)メールアドレスにメールタイトルのハッシュを埋め込み、タイトルと一致したメールしか受け付けない
サーバ上でのその他の対処 †
- 遅延処理を行う SMTPコマンドごとに応答を遅らせ、相手のスクリプトの効率低下を図る。
- 送信元メールアドレスのドメイン名が実在するかチェックする
- 送信元メールアドレスが実在するかどうか、SMTPセッションを使って確認する。
- グレイリスティングを使う
- IPホワイトリストを使う
- HELOコマンド/EHLOコマンドチェックを行う
- 上のような対策をhtml中に入れるのはめんどくさいので、mailaddress.nanbu.com?id=1234のようなメアドサーバーへのリクエストによって表示するとコンテンツを作る側も簡単になる。
- ネームサーバによるホスト認証を行う
例えば、test@nanbu.comとあります。
サブアドレスを導入すると、
これをtest-toiawase@nanbu.com
test-support@nanbu.com
などとしても、全部test@nanbu.comに届きます。
Webページには、test-toiawase@nanbu.com
としておいて、迷惑メールが
その他 †
- info@〜やsupport@〜などはRFC2142で推奨されているアドレスであるが、これをあえて使わない。
お笑い †
- Waveファイルに録音して、メールアドレスを読み上げる
- ActiveXを使ってOutlookExpress?を制御する
- メール送信.exeをダウンロードしてもらって送信してもらう
- レジストリファイルに書いておき、次回起動時に勝手に送信する
- VRMLで表示する。3Dで回ってかっこいい。無駄に見た目にこだわるクライアント向き。
- Canvas要素で表示する。ベクター情報を使うのでソースを読んでもわからない。
- SVGでグラフィック表示
- OpenOffice?で表示する。うまくいけばプラグインでインラインフレーム内に表示できる
- Microsoft Officeで表示する。うまくいけばプラグインでインラインフレーム内に表示できる
- mixiの自分のページに飛ばす。誰が見たか記録して悪用対策。
- Javaアプレットを利用し、サーバからメールを送る
- Java Web Startを利用してメールを送る
- VMLでグラフィック表示
- 裸眼立体視グラフィックで表示
- メールアドレスを暗号化し、暗号化したものを載せておく。頭のいい人しか復号してメールを送れない。
- 逆に並べ替える
- ISOファイルにしておく。CDに書くと見えるようになる。
- VNCのリバースプロキシモードがダウンロード・実行されるようにして、接続してきたクライアントを操作して、メールソフトを起動し、メールアドレスをタイプインする。
- グラウンドの芝生を刈り取ってメールアドレスを描く。google mapsの衛星画像の自社の座標にリンクを貼り、見てもらう。
- TELをかけると自動応答でメールが教えてもらえる。
- amazonのレビューにリンクし、そこで公開しているメールアドレスを読んでもらう。お小遣いにもなってお得!
- 「メールアドレスはこちらをクリック」として、エントランスFLASHをここぞとばかりに使いまくる
- 「メールアドレスはこちらをクリック」として、ストリーミング動画の最後にメールアドレスが出る。苦痛でも、早送りせずにみないといけない。
- AnonymousFTPサーバにアクセスさせて、パスワードメールアドレスに送信する
他サイト †
ここまで書いたものは、一般的なものや、私が独自に考えたものですが、以下に他サイトで独創的なものを示します。
- 3秒後に表示する
http://www.nikkei-azabu10.com/smail.html
実例も表示され、おすすめです。