土曜日, 2月 28, 2009

メールアドレスのスパム対策 javascrpitでね。

サイトを立ち上げた際、ちょっとした問い合わせとか質問はフォームをつくるよりも
メールで受け付けるのが簡単だけど、問題になるのがメールアドレス収集ロボット対策。
簡単なのはアットマークを@(全角にしたり)、「%40」ってエンコードしたりする方法だけどいまいち頼りない。

で、まぁ安全な対策がこれ。

<!---------------- ここから ---------------->
<script TYPE="text/javascript">
<!--
emailE=('ho' + 'ge' + '@' + 'hogehoge' + 'piyo' + '.xxx')
document.write('<a href="mailto:' + emailE + '">' + "メールはこちら" + '</a>')
//-->
</script>
<!---------------- ここまで ---------------->

javascriptで分割しちゃえ!!ってパターンね。

それでも不安ならこれ。

<p>
<!---------------- ここから ---------------->
<script type="text/javascript" language="javascript">
<!--
{ coded = "ZCm5@ZCm5ZCm5TqHC.ppp"
  key = "zZA5gKtyprv9Rua1Of0jlkNLomiVHTMPwdQI2sJU8FhYeCcqDx7ES4n3b6WBGX"
  shift=coded.length
  link=""
  for (i=0; i<coded.length; i++) {
    if (key.indexOf(coded.charAt(i))==-1) {
      ltr = coded.charAt(i)
      link += (ltr)
    }
    else {     
      ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length
      link += (key.charAt(ltr))
    }
  }
document.write("<a href='mailto:"+link+"'>メールはこちら</a>")
}
//-->
</script>
<noscript>ごめんよ、<font size=1><strike>僕にはまだ帰れるところがあるんだ。こんなに嬉しいことは無い。</strike></font> javaspcirtを有効にしていないとメールは送れません。</noscript>
<!---------------- ここまで ---------------->
</p>

※メールアドレスはダミーなので送らないでね。

何をしてるかってメールアドレスを暗号化して、表示する際は復号して出してる。
何かすごいことになってるけど、効果ありそうよね。

ちなみにこのサイトでやってくれます。

海(の向こう人の考えること)は広いな―大きいなぁー。