1. HTML
上の文字は普通はテキスト文字を使いますが、これをソースレベルではコード化しておくことで、メールアドレスの収集を免れる方法です。例えば、アットマー
ク
(@)が含まれる文字列はメールアドレスである可能性が高いので、これを目印にしてメールアドレスを集めることが多いはずです。そこで、このアットマーク
を @
などとエンティティ表記にして、収集の手から免れようという方法です。ソースレベルでコードになっていても、ウェブ上ではきちんと文字になって表示されま
す。
【エンティティ (entity) 表記】
普通にHTMLに記述しただけではWebブラウザに表示されない文字を表現するための方法。
“&”と“;”の間に特定の文字列を入れることで表記されますが、これに準ずる形式として、アスキーコードを入れる記述方法(10進の時は#を頭
につけ、16進の時は #x
を付ける)があります。エンティティ表記で記述された文字列は、Webブラウザ上での見かけは通常の文字列と変わらず、“mailto:”を使ったリンク
な ども正常に動作します。
種類
|
表記例
(エンティティ → ウェブ)
|
タグに使われている記号
(上が純エンティティ表記、中が10進表記、下が16進表記の例)
|
“<” → “<”
“<” → “<”
“<” → “<”
|
キーボードから入力できない欧文文字
(上が10進表記、下が16進表記の例)
|
“á“ → “á“
“á“ → “á“
|
普通の英文文字
(上が10進表記、下が16進表記の例)
|
“ma&
#100;o” → ”mado”
“mado” →”mado” |
【アスキーコード】
すべての半角英数文字に割り振られた固有の番号。10進でも16進でも表示されます。アスキーコードの一覧表は こちら 。 |
2. コード化に使われるのは、対象の文字に固有のアスキーコードです。ただし、そのエンティティ表記の方法には、10進(&#表示)、16進
(&#x表示)、16進(%表示、ただしこれはタグの中だけに限る)
の3とおりあります。これらをランダムに組み合わせ、メールアドレスを構成する文字のうちのいくつか(または全部)をエンティティ化すると隠蔽効果が上が
ります。また、上記A で紹介した JAVA スクリプトファイル中のメールアドレスをさらにエンティティ化するという「あわせ技」もあります。
3.
具体的には、普通に作成したhtml文書を一旦、保存した後、エディタやメモ帳などで再び開いて、文中に使われている ****@***.****.jp
を ****&H64***.****.jp
などと書き換えます。なお、こうした変換作業を半自動的にやってくれるソフトがあります。興味のある方は
こちらへ 。
例: メールアドレスは
jsatsuma@dentx.pal.kagoshima-u.ac.jp
(注:このメールアドレスは例示のための架空のものです)