メールアドレスをASCIIコードの数字列に変換してJavaScriptで記述する仕組みの解説
◆メールアドレスを直接ソースに記述することなく、メールアドレスを表示できる
下記には、メールアドレスへのリンクが1つ見えるはずです。しかし、このメールアドレスは、このHTMLソース内には一切記述されていません。
また、JavaScriptソース部分を読んでも、このメールアドレスは(直接は)記述されていません。
そのため、(メールアドレスをウェブ上に掲載しておきつつも)メールアドレスが自動収集されてしまう可能性を減らせます。
上記のリンクは、メールアドレスを構成する文字1つ1つをASCIIコードに変換して、JavaScriptソース中に記述することで表示しています。
ここでは「116,101,115,116,64,101,120,97,109,112,108,101,46,99,111,109」のような数値の列になっています。
この数値列(ASCIIコード)を、JavaScriptを使って文字に戻すことで、ブラウザの画面上に本来のメールアドレスを表示させています。
◆メールアドレスを表現するASCIIコードをもっと複雑にするオプション
上記の入力欄とボタンの間にある「ASCIIコードの表現に計算式を含めて複雑に見せる」チェックボックスにチェックを入れておくと、
「132-16,83+18,141-26,100+16,71-7,82+19,125-5,92+5,127-18,104+8,129-21,91+10,66-20,96+3,133-22,102+7」のような計算式の列になります。
このようにしておくと、余計に「この数字列がメールアドレスだ」とは分かりにくくなります。増減値はランダムに決定されるため、同じメールアドレスでも実行するたびに異なるソースが出力されます。