• Facebook
  • Twitter
  • RSS
月別
コツコツあつめるWeb作りのためのたね たねっぱ!Web系情報ブログ Webのお役立ちネタ配信中!

サイト上でメールアドレスにリンクしたい!そんな時のスパムメール対策はこれ。

投稿者アイコン
2013/02/14
書いた人:
katoppa!
カテゴリ:
Web制作
26,079 views

Webサイトにメールアドレスを掲載するときの有効なスパム対策。それが「エンティティ化」! ・これまで、こんな方法でスパムメール対策してました。(てへぺろ) ・それでもエンティティ化なら…エンティティ化ならなんとかしてくれる! ってなラインナップでお届けするよ!

サイト上でメールアドレスにリンクしたい!そんな時のスパムメール対策はこれ。

これまで、こんな方法でスパムメール対策してました。(てへぺろ)

メールアドレスをWebサイトで公開するとき、スパムメール対策をしますよね。簡単な方法では、メールアドレスを画像で記載する方法なども有効ですが、この場合テキストではないのでコピーができません。ユーザに不便をかけてしまうことになりますね。

また、もう一つの方法として、メールアドレスとしての体裁を崩してしまう、という手段があります。
例えば、こんな感じ。

hoge(at)hoge.com
※(at)を@に変えてください。

これだと、ユーザは、(at)の前までをコピー・アンド・ペースト、(at)の後ろをコピー・アンド・ペーストする必要がありました。ただメールしたいだけのユーザに、負担を強いることになります。

それでもエンティティ化なら…エンティティ化ならなんとかしてくれる!※

SLAM DUNK THE MOVIE [DVD]
SLAM DUNK THE MOVIE [DVD]
posted with amazlet at 13.02.08
東映 (2004-12-10)
売り上げランキング: 32,843

※元ネタ:スラムダンク

HTMLエンティティ化とは

「HTMLエンティティ化」とは、文字を数字や記号に置き換えることです。例えば「a」は

a

という具合です。文字や数字に置き換えることで、メールアドレスをクロールしているボットに見つからないようにしよう、ということです。(万全のセキュリティではないかもしれませんが、何もしないよりだいぶマシだと思います。)

エンティティ化しても、Webサイト上では通常通り「hoge@hoge.com」と表示されていますし、aタグを付ければ、クリック一つでメール可能。ユーザビリティも向上します。

エンティティ化の小ワザ!

エンティティ化するときは、mailto:も含めてエンティティ化しておくとベターです。なぜなら、mailto:が残っていると、「それ以降がメールアドレスである」ことがバレてしまうからです。

ソースコードはこんな感じです。1行目が通常の書き方で、5行目がエンティティ化した書き方です。

<br />
&lt;a href=&quot;mailto:taneppa@taneppa.net&quot;&gt;taneppa@taneppa.net&lt;/a&gt;</p>
<p>                   ↓</p>
<p>&lt;a href=&quot;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#116;&amp;#97;&amp;#110;&amp;#101;&amp;#112;&amp;#112;&amp;#97;&amp;#64;&amp;#116;&amp;#97;&amp;#110;&amp;#101;&amp;#112;&amp;#112;&amp;#97;&amp;#46;&amp;#110;&amp;#101;&amp;#116;&quot;&gt;&amp;#116;&amp;#97;&amp;#110;&amp;#101;&amp;#112;&amp;#112;&amp;#97;&amp;#64;&amp;#116;&amp;#97;&amp;#110;&amp;#101;&amp;#112;&amp;#112;&amp;#97;&amp;#46;&amp;#110;&amp;#101;&amp;#116;&lt;/a&gt;<br />

こんな感じで、暗号みたいな文字列になります。ソースコードはすっごく長くなってしまいますが、安全のために背に腹は代えられないといったところでしょうか。

図で描くとこんな感じです。
entity

エンティティ化の方法

では、実際にエンティティ化の方法についてです。
文字列に変換してくれる便利な無料ツールがたくさんありますので、ぜひお好みのものを探してみてください。

例えばこちらのサイトなど。
HTMLエンティティ化 | Web制作小物ツール – dounokouno.com

http://webtools.dounokouno.com/entity/index.html

  1. エンティティ化したいメールアドレスを、コピーする。(「mailto:hoge@hoge.com」の箇所)
  2. 先ほどのサイトの「変換前」のテキストエリアにペーストする。
  3. 「変換」をクリックし、生成された文字列をhtmlファイルにペーストする。

以上、とっても簡単です。
皆さんも、ぜひ取り入れてみてください。


この記事を読んだ人はこんな記事も読んでいます