2007 . 12 . 22

CSSでスパムメールを防ぐ方法

ホームページやブログをやられている方なら、スパムに対する何らかの対策を講じているのが普通だと思います。
メールアドレス収集ロボットに引っかからないためには、そもそも、メールアドレスをページに載せないというのが一番ですが、それ以外にもいくつかの方法があります。

1つは、メールアドレスをテキストとしてではなく、画像にしてしまう方法。
2つ目は、メールアドレスの文字列を10進数コードの「エンティティ表記」というものに変換してしまう方法。
そして3つ目が、今回紹介するCSSを利用したトリッキーな方法です。

moc.liamg@fnock



さて、上のメールアドレスは一見普通のテキストに見えます。実際普通のテキストですから。しかし、ソースではこのようになっています。
<p class="address">moc.liamg@fnock</p>

そして、この部分のCSSがこちら ⇓
.address {
    unicode-bidi : bidi-override;
    direction : rtl;
}

お気付きのとおり、逆方向に記載したテキストをCSSで元に戻しているというわけです。
これで表面上はメールアドレスとして見えるけれど、ソース上では架空の文字列ということになるのです。

実際、このサイトでこの方法を利用して2年ほど経ちますが、少なくともロボット系のスパムは皆無です。
(しかしこのような効力も、この手法が一般によく知られていないうちが華な訳で、知名度が上がれば改良型スパムの餌食になるかもしれませんが)

スパム対策はいろいろあるかもしれませんが、こんな簡単で効果的で、しかもクールなやり方はどうでしょうか。

[ 参考 : CSSplay ]