ホームページなどにメアドをさらすときの迷惑メール対策について
ホームページなどにメールアドレスを書いて、
「連絡先はこちら」、みたいなことかいてあるけど、
これって、スパム業者にスパム投げてね♪って行ってるみたいなもんw
なので、対策をちょっと考えてみた。
ほんとに、頑張ればいろいろできるんだけど、
コスト、制作者の利便性、閲覧者の利便性 の3点から考えてみた。
- そのままメアドをさらす。
- 画像にメールを埋め込んでimgタグではっつける。
- name at example.jp などの@を"at"、全角@などとする
- メールフォームを作成して対応。
- JSでメールアドレスを置換。
0. は論外。
1. は作成のコストは小、制作者利便性はスパムがかなり来にくくなるので高い、一方、閲覧者利便性は、メールアドレスを一字も間違いなく入力しなければいけないので利便性は低い。
2. は作成コストは小、作成者利便性はスパム対策としては懐疑的なので、中、一方、閲覧者利便性は、2回に分けてコピー&ペーストしなければならず、わざわざatを@に変えなければいけない。さらに、情報リテラシが低い人にはどうして良いのかわからなくなるので、利便性はかなり低い。
3. は制作コストはフォームを作成する分だけ高い、制作者の利便性はスパム対策になるため高い、さらに利用者の利便性はメーラーも必要なくフォーム入力だけなので高い。
4. は作成コストは1,2に比べて高いので中、スパム対策としてはJSを理解しないクローラーには有効なので中、利用者利便性は通常の場合と変らないので、中。
以上をふまえてみると3.のフォームによる、お問い合わせがもっとも、制作者、利用者の共に利便性が高い。
だが、制作コストは他より群を抜いている。
それぞれの中間を取るなら4かな〜と個人的に思うので、
そのコードを書いてみた。
<script type="text/javascript"><!-- function replaceMail(){ var mailtag = document.getElementById("mail"); var addr = 'youname' + '@' + 'example.jp'; mailtag.innerHTML = addr; mailtag.href="mailto:" + addr; // 文字列を+で連結してるのは、スパム対策。効果あるのかしらんけど。。。実験中 } --></script>
HTMLには
<body onload="replaceMail();"> ..... <a id=mail href="お問い合わせのフォームURLなど">お問い合わせ</> .... </body>
やってることは至極簡単。
タグ中にid=mail を見つけたら、hrefを置換してるだけ。
フォームはどうするんだよ。っていうつっこみは無しでw