最終更新日: 2004/11/25
HP上のメールアドレスの隠し方

ロボット検索のメールアドレス収集から免れるための方法を紹介します。現在、次の3種があります。

A. JAVA スクリプトで隠す方法

1. 下記のような内容のテキストファイルを作り、mail.js などの名前で、htmlファイルと同じディレクトリに保存します。拡張子 .js (= java script の意味)を付けるのが大事。

str="管理者(薩摩)まで";
document.write(str.link("mailto:*****@***.***.jp"));

2. htmlには次のようなタグを埋め込みます。

<script src="mail.js"></script>

3. これをブラウザで見ると「管理者(薩摩)まで」と表示され、そこをクリックすれば新規メールウインドウが開きます。この方法は完璧ではありません が、ロボット検索による収集を免れる確率は高いと思います。なお、読み手側はJAVA スクリプトをオンにしていないとメールアドレスが表示されません(下記の例で 「メールは」までし か表示されないときは JAVA スクリプトが無効になっています)。

例: メールは

(注:このメールアドレスは例示のための架空のものです)



B. 画像を使う方法

1. ****@***.***.jp をテキストエディタなどに打ち込み、それをスクリーンコピーします。

2. フォトショップなどで新規画像を作成し、そこにペーストします。上記のメールアドレス部分だけにトリミングして、jpg 画像などとして保存。

3. html に上記の画像を貼り付けます。リンクはしません。

4. 画像ファイルの扱いが面倒でなければ、こちらの方をおすすめします。ほぼ完璧な防御方法ですし、読み手がJAVA をオフにしていても表示されるからです。表示はされているけれど、それはテキスト情報でなく画像情報なのがミソで、ロボット検索から免れることができるわ けです。

例: メールアドレスはこちら: 
  
(注:このメールアドレスは例示のための架空のものです)


C. 部分的にコード化する方法

1. HTML 上の文字は普通はテキスト文字を使いますが、これをソースレベルではコード化しておくことで、メールアドレスの収集を免れる方法です。例えば、アットマー ク (@)が含まれる文字列はメールアドレスである可能性が高いので、これを目印にしてメールアドレスを集めることが多いはずです。そこで、このアットマーク を &#64; などとエンティティ表記にして、収集の手から免れようという方法です。ソースレベルでコードになっていても、ウェブ上ではきちんと文字になって表示されま す。
【エンティティ (entity) 表記】

普通にHTMLに記述しただけではWebブラウザに表示されない文字を表現するための方法。 “&”と“;”の間に特定の文字列を入れることで表記されますが、これに準ずる形式として、アスキーコードを入れる記述方法(10進の時は#を頭 につけ、16進の時は #x を付ける)があります。エンティティ表記で記述された文字列は、Webブラウザ上での見かけは通常の文字列と変わらず、“mailto:”を使ったリンク な ども正常に動作します。

種類
表記例  (エンティティ → ウェブ)
タグに使われている記号
(上が純エンティティ表記、中が10進表記、下が16進表記の例)
“&lt;” → “<”
“&#60;” → “<”
“&#x3C;” → “<”
キーボードから入力できない欧文文字
(上が10進表記、下が16進表記の例)
“&#225;“ → “á
“&#xE1;“ → “á
普通の英文文字
(上が10進表記、下が16進表記の例)
“&#109;&#97;& #100;&#111;”  → ”mado”
“&#x6D;&#x61;&#x64;&#x6F;” →”mado”

【アスキーコード】

すべての半角英数文字に割り振られた固有の番号。10進でも16進でも表示されます。アスキーコードの一覧表は こちら
2. コード化に使われるのは、対象の文字に固有のアスキーコードです。ただし、そのエンティティ表記の方法には、10進(&#表示)、16進 (&#x表示)、16進(%表示、ただしこれはタグの中だけに限る) の3とおりあります。これらをランダムに組み合わせ、メールアドレスを構成する文字のうちのいくつか(または全部)をエンティティ化すると隠蔽効果が上が ります。また、上記A で紹介した JAVA スクリプトファイル中のメールアドレスをさらにエンティティ化するという「あわせ技」もあります。

3. 具体的には、普通に作成したhtml文書を一旦、保存した後、エディタやメモ帳などで再び開いて、文中に使われている ****@***.****.jp を ****&H64***.****.jp などと書き換えます。なお、こうした変換作業を半自動的にやってくれるソフトがあります。興味のある方は こちらへ

例: メールアドレスは jsatsuma@dentx.pal.kagoshima-u.ac.jp

(注:このメールアドレスは例示のための架空のものです)