コンテンツ 


プログラム 03 トップ
サイト管理人のためのSPAM防止法

サイトをやっているとページ上に、自分のメールアドレスを載せたりするだろう。そして「メールはこちら」のように表記したりする。
ところが、これには罠があり、SPAMメールや迷惑メール(以下SPAM)の餌食となる。
これらは、ページ内の「〜@xxx.com」という表記を巡回して集めていくツールで、アドレス帳を作り、無作為に送りつけているのだ。丁寧にウィルスがくっついたものも多い。これらを防止する方法はないものだろうか?

よく見かける手段としては、

yamada★xxx.com(★を@に変えてください)

yamada●@xxx.com(送信時に●を取り除いてください)

などとゴミ文字を放り込む方法である。これならアドレスを吸い取られることもない。
だが、これでメールを送ろうとすると、どうしてもワンステップ、ユーザの手を煩わせることになってしまう。サイト管理人が手を煩わせることで、これを防ぐことはできないだろうか?

そこで、策を講じてみることにした。

方法1:見えないゴミ文字を入れる

見えないといっても、フォントカラーを背景と同化させるとかそういうことではない。相手は目で見て吸い取っているわけではなく、ソースから自動的に吸い取っているので効果はない。
目に見えないゴミ、それはずばりタグのことである。
普段、専用アプリでサイトを作っている人も知っているであろう。
<b>こういった</b> → こういった
<a href="〜〜">ものである</a> → ものである

ごらんのようにこれらはページを見る上では表示されない。そこで、これを利用してゴミ文字(タグ)をアドレス部分に入れればよいのだ。

たとえば太文字タグ<b>を入れてみよう。

 yamada<b></b>@xxx.com (←こんな感じにしてみる)

しかし、ページ上では、
 yamada@xxx.com
とだけ表示される。

吸い取られるのはあくまで「yamada<b></b>@xxx.com」というアドレスなので、実害は被らないというわけだ。

心配なら文字を挟んでもよいが、その場合、
 yamada<b>@xxx</b>.com → yamada@xxx.com
本当に太くなってしまうので、影響のない
 yamada<font>@xxx</font>.com
などというタグを使えばよい。

メールを送るユーザは、これをコピーしてメーラーを立ち上げて貼り付ければよいのである。

次にリンクを張って、クリックするとメーラーが立ち上がるようにしたい場合はどうすればよいだろうか。
この場合、ゴミを入れると、本当にゴミつきでアドレスが飛ぶので厄介である。その場合、次の方法を用いる。

方法2:JavaScriptでアドレスを分割

ようするにこういうことがやりたいわけである。

ただし、今回の場合、表示されていないが、ソースでは一続きのアドレスが記録されている。これにゴミをつけることは残念ながらできない。しかし敵はどこからどこまでを吸い取ればよいのか熟知しているので、簡単にアドレス部分だけ吸い取られてSPAMの餌食になる。では、どうすればよいのか。このタグ内の

<a href="mailto:yamada@xxx.com?subject=山田くん、あたしをあげる☆">

の部分を、分割すればよいのである。

<a href="mailto:yamada + @ + xxx.com?subject=山田くん、あたしをあげる☆">

こうすれば、吸い取ることはできない。
だが、このように書いたところでそれは機能しない。そこでJavaScriptである。詳しいことを抜きにして、そういうことをしてくれるプログラムのようなものである。以下のように使用する。

メールリンクを表示するところに以下のものを挿入する。

メールは
<!--ここからコピー-->
<script language="JavaScript">
<!--
window.document.open();
window.document.write("<a href='mailto:yamada" + "@" + "xxx.com?subject=山田くん、あたしをあげる☆'>こちら</a>");
window.document.close();
-->
</script>
<!--ここまでコピー-->
まで

赤太字の部分は各自で変更。ただし「"」や「'」は変更しない。
※「こちら」の部分は、ポストの画像などでもOKです。
※前後の文章(メールは…まで)は変更可能です。
※「?subject」以下は「件名」になります。省略可能です。


すると、

メールは まで

こうなります(まったく同じものが張られています)
ソース部分には、どこにも一続きのアドレスは登場しません。

このようにしてSPAM対策をして、快適なサイトを作成していきましょう。

No Copyright (C) 2004 USO8oo Japan Corporation. All Rights No Reserved.