■5.部分的にコード化する方法
1. 隠したいテキスト文字をエンティティ・コードで表記しておく方法です。
例えば、 アットマー
ク(@)が含まれる文字列はメールアドレスである可能性が高いので、ロボットは、これを目印にしてメールアドレスを集めているはずです。そこで、このアッ
ト マー ク を @などとアスキーコードで表記する(=
エンティ
ティ 表記)ことで、
収集の手から免れられます。ソースレベルではコードでも、ブラウザ表示の上ではきちんと文字
になるので、閲覧するときにはコード表示が障害にはなりません。
【エンティティ (entity) 表記】
普通にHTMLに記述しただけではWebブラウザに表示されない文字を表現するための方法で、その基本は、
“&” + 略号 + “;”
“&#”
+ 10進のアスキーコード + “;”
“&#x”
+ 16進のアスキーコード + “;”
と
いう書式です。略号やアスキーコードは、文字について (1)
ASCIIコード に一覧があります。また、エンティティ表記については、文
字について (2) エンティティ表記もご覧ください。
事例は下表のとおり。
種類
|
表記例 (エンティティ → ウェブ)
|
タグに使われている記号
(上が記号、中が10進、下が16進の例)
|
“<” →“<”
“<” → “<”
“<” → “<”
|
キーボードから入力できない欧文 文字
(上が10進、下が16進の例)
|
“á“→ “á“
“á“ → “á“
|
普通の英文文字
(上が10進、下が16進の例)
|
“ma&
#100;o” → ”mado”
“mado”
→”mado” |
|
2. 16進表記の場合は、%を使う方法がありますが、タグの中だけに限る表記法です(なお、URL
などで2バイト文字を表記する際にこれが使われることがあります)。
3. 記号をつかった表記、アスキー10進、アスキー16進などの表記をランダムに組み合わせることができます。メールアドレスを構成す
る文字のうちのいくつか(または全部)をエンティティ化すると隠蔽効果が上が ります。
4. エンティティ表記を、■1で説明した JAVAスクリプトを使う手法でのメールアドレス部に使うという「あわせ技」もあります。
5.
例としては、普通に作成したhtml文書を一旦、保存した後、エディタやメモ帳などで再び開いて、文中に使われているメールアドレス、例えば、
****@***.****.jp を
****&H64***.****.jpなどと書き換えます。なお、こうした変換作業を半自動的にやってくれるソフトがあります。興味のある方は
こちらへ。
例: メールアドレスは
こちら
(注:このメールアドレスは例示のための架空のものです)
付
記: もともと、robot 対策とは、SEO対策のひとつであり、セキュリティ保全などの理由から、自動巡回
ソフトウェアをブロックする方法をいいます。具体的には、robots.txt
というコマンドファイルを設置したり、<meta name="robots"
content="noindex,nofollow">
というメタコマンドをヘッダに記述します(くわしくは、こ
ちら)。ただし、こうした方法が通用するのは、あくまでも”紳士的な” robot
の時だけで、結局は上記のような方法で対応するしかないようです。 |