FrontPage
メールアドレスをWebに載せると、迷惑メールがたくさんやってきます。
これをどうしたらいいでしょう。
実にたくさんの方法があります。それぞれ得失があり、決定版というのはありません。
したがって検討と実験を行い、自分にあった対策をとるのが望ましいです。
しかし、アイデア勝負のところがあり、実際のところいくらでもアイデアは出てきます。
ひとつひとつ、詳細に検討と実験を行って全て網羅するのはムリなところがあります。
いっそのこと対策のアイデアだけを100書いてみますね。検討と実験無しでも、これだけ集めると価値があるでしょう。
この対策は、以下のような組織向きです。
- ある程度大きな組織向きです。
- 自分でメールサーバを触れる人向きです。
表示する時の対策 †
HTMLエンティティは効果が薄いようです
1〜30 mailto:を使って、メールソフトの自動起動を使う対応 †
- アットマークをHTMLエンティティで表示する(「@」と書けば、ブラウザ上では「@」となる)
- メールアドレスをHTMLエンティティで表示する
- メールアドレスをHTMLエンティティにし、間に改行を入れる。
- mailto:タグをHTMLエンティティにする。
- mailto:タグをHTMLエンティティにし、間に改行を入れる。但し、メールソフトの起動ができなくなるらしい。
- メールアドレスをJavaScript?でDocument.writeで表示する
- *<a href="mailto:test">としておき、@以下をJavaScript?で補完する
- メールアドレスを暗号化し、JavaScript?で複号してDocument.writeで表示する
- メールアドレスを全角にし、JavaScript?で半角に変換してDocument.writeで表示する
- メールアドレスを表示せず、フォーム→サブミットボタンを押すと表示するようにする
- メールアドレスを表示せず、フォーム→サブミットボタンを押し、簡単な質問(なぞなぞ)に答えると表示するようにする
- メールアドレスを表示せず、Captcha機能(歪んだ文字)付きフォーム→サブミットボタンを押すと表示するようにする
- 「dummy@nanbu.com ←こちらはニセモノです。これを使った場合にはブラックリストに載せます」という表示をいっしょに出しておく。
- リファラーをチェックして、ロボットらしきものにはメールアドレスを表示しない
- アクセスログをチェックして、クロウしているようなものにはメールアドレスを表示しない
- FLASHよりメールソフトを起動させる
- PDFのメールリンク機能を利用する
- htmlを暗号化する
- AJAX化して、メールアドレスはサーバよりのXML通信で取得する
31〜60 mailto:を使わずに、メールソフトの自動起動を使わない上での対応 †
- mailto:を使わない メールソフトの自動起動ができなくなります。
- メールアドレスを画像にする
- メールアドレスをCaptcha画像(歪んだ画像)にする。
- アットマークを画像にする
- アットマークの前後に空白をつける
- CGIフォームを使う
- メールアドレスの@以降をカタカナにする。
- メールアドレスの@を★にして、「★を@に変えてください」と書いておく
- test"AT"nanbu.comというように書く
- info@〜やsupport@〜などはRFC2142で推奨されているアドレスであるが、これをあえて使わない。
- FLASHで表示する
- PDFで表示する
- *メールアドレスを表示するところをリクエストフォームにし、メールアドレスを入力するとそのメールアドレスにメールが届くようにする
受信側はどうするか †
これは、個人ベースで対策しないといけない。
- Thunderbirdなど、迷惑メールフィルタ機能の付いたメールソフトを使用する
- 個人でRBLリストを使う
- プロバイダの迷惑メール削除機能を使う
- アンチスパムソフトを利用する
- 迷惑メール機能つきIDSをゲートウェイに設置する
受信メールサーバでの対処 †
サブアドレスを使う方法 †
- メールサーバにサブアドレスを使い、一定期間で更新する
- Webに載せるメールアドレスはフリーメールを使い、一定期間で更新する
- ワンタイムメールアドレスを使う(1)Webリクエストごとに別のメールアドレスを生成
- ワンタイムメールアドレスを使う(2)日付によって別のメールアドレスを生成
- ワンタイムメールアドレスを使う(3)メールアドレス取得要求ごとに別のメールアドレスを生成 期限付
- ワンタイムメールアドレスを使う(4)メールアドレスにリモートホストを埋め込み、そこからのメールしか受け付けない
その他 †
- 遅延処理を行う SMTPコマンドごとに応答を遅らせ、相手のスクリプトの効率低下を図る。
- 送信元メールアドレスのドメイン名が実在するかチェックする
- 送信元メールアドレスが実在するかどうか、SMTPセッションを使って確認する。
- グレイリスティングを使う
- IPホワイトリストを使う
- HELOコマンド/EHLOコマンドチェックを行う
例えば、test@nanbu.comとあります。
サブアドレスを導入すると、
これをtest-toiawase@nanbu.com
test-support@nanbu.com
などとしても、全部test@nanbu.comに届きます。
Webページには、test-toiawase@nanbu.com
としておいて、迷惑メールが
お笑い †
- Waveファイルに録音して、メールアドレスを読み上げる
- ActiveXを使ってOutlookExpress?を制御する
- メール送信.exeをダウンロードしてもらって送信してもらう
- レジストリファイルに書いておき、次回起動時に勝手に送信する
- VRMLで表示する。3Dで回ってかっこいい。無駄に見た目にこだわるクライアント向き。
- Canvas要素で表示する。ベクター情報を使うのでソースを読んでもわからない。
- SVGでグラフィック表示
- OpenOffice?で表示する。うまくいけばプラグインでインラインフレーム内に表示できる
- Microsoft Officeで表示する。うまくいけばプラグインでインラインフレーム内に表示できる
- mixiの自分のページに飛ばす。誰が見たか記録して悪用対策。
- Javaアプレットを利用し、サーバからメールを送る
- Java Web Startを利用してメールを送る
- VMLでグラフィック表示
- 裸眼立体視グラフィックで表示
- メールアドレスを暗号化し、暗号化したものを載せておく。頭のいい人しか復号してメールを送れない。
他サイト †
ここまで書いたものは、一般的なものや、私が独自に考えたものですが、以下に他サイトで独創的なものを示します。
- 3秒後に表示する
http://www.nikkei-azabu10.com/smail.html
実例も表示され、おすすめです。