サイト上でメールアドレスにリンクしたい!そんな時のスパムメール対策はこれ。
Webサイトにメールアドレスを掲載するときの有効なスパム対策。それが「エンティティ化」! ・これまで、こんな方法でスパムメール対策してました。(てへぺろ) ・それでもエンティティ化なら…エンティティ化ならなんとかしてくれる! ってなラインナップでお届けするよ!
これまで、こんな方法でスパムメール対策してました。(てへぺろ)
メールアドレスをWebサイトで公開するとき、スパムメール対策をしますよね。簡単な方法では、メールアドレスを画像で記載する方法なども有効ですが、この場合テキストではないのでコピーができません。ユーザに不便をかけてしまうことになりますね。
また、もう一つの方法として、メールアドレスとしての体裁を崩してしまう、という手段があります。
例えば、こんな感じ。
hoge(at)hoge.com
※(at)を@に変えてください。
これだと、ユーザは、(at)の前までをコピー・アンド・ペースト、(at)の後ろをコピー・アンド・ペーストする必要がありました。ただメールしたいだけのユーザに、負担を強いることになります。
それでもエンティティ化なら…エンティティ化ならなんとかしてくれる!※
売り上げランキング: 32,843
※元ネタ:スラムダンク
HTMLエンティティ化とは
「HTMLエンティティ化」とは、文字を数字や記号に置き換えることです。例えば「a」は
a
という具合です。文字や数字に置き換えることで、メールアドレスをクロールしているボットに見つからないようにしよう、ということです。(万全のセキュリティではないかもしれませんが、何もしないよりだいぶマシだと思います。)
エンティティ化しても、Webサイト上では通常通り「hoge@hoge.com」と表示されていますし、aタグを付ければ、クリック一つでメール可能。ユーザビリティも向上します。
エンティティ化の小ワザ!
エンティティ化するときは、mailto:も含めてエンティティ化しておくとベターです。なぜなら、mailto:が残っていると、「それ以降がメールアドレスである」ことがバレてしまうからです。
ソースコードはこんな感じです。1行目が通常の書き方で、5行目がエンティティ化した書き方です。
<br /> <a href="mailto:taneppa@taneppa.net">taneppa@taneppa.net</a></p> <p> ↓</p> <p><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#97;&#110;&#101;&#112;&#112;&#97;&#64;&#116;&#97;&#110;&#101;&#112;&#112;&#97;&#46;&#110;&#101;&#116;">&#116;&#97;&#110;&#101;&#112;&#112;&#97;&#64;&#116;&#97;&#110;&#101;&#112;&#112;&#97;&#46;&#110;&#101;&#116;</a><br />
こんな感じで、暗号みたいな文字列になります。ソースコードはすっごく長くなってしまいますが、安全のために背に腹は代えられないといったところでしょうか。
図で描くとこんな感じです。
エンティティ化の方法
では、実際にエンティティ化の方法についてです。
文字列に変換してくれる便利な無料ツールがたくさんありますので、ぜひお好みのものを探してみてください。
例えばこちらのサイトなど。
HTMLエンティティ化 | Web制作小物ツール – dounokouno.com
- エンティティ化したいメールアドレスを、コピーする。(「mailto:hoge@hoge.com」の箇所)
- 先ほどのサイトの「変換前」のテキストエリアにペーストする。
- 「変換」をクリックし、生成された文字列をhtmlファイルにペーストする。
以上、とっても簡単です。
皆さんも、ぜひ取り入れてみてください。