ホームページにはメールアドレスを掲載してはいけない!?その理由と対策方法

Coding

ホームページにはメールアドレスを掲載してはいけない!?

みさなん、こんにちは。
今日は、ホームページ上にメールアドレスを掲載するときのお話です。

お問い合わせ用などのメールアドレスをホームページ上に公開することはよくあると思います。

・・そのメールアドレス、そのまま公開していませんか?

実は、何の対策もせずにメールアドレスを公開してしまうと、スパムメール(迷惑メール)に襲われるリスクが高くなってしまいます。それにより、ウイルス感染の恐れや情報漏洩などさまざまな被害リスクが高まると同時に、クライアントへも多大なる迷惑をかけてしまう恐れがあります。

これからホームページにメールアドレスを公開しようと思っている方、また既に対策をせず公開してしまっている方も、スパムの危険性を理解し今すぐ対策を行なっていきましょう!

スパムメールとは

受信者の意向とは無関係に、無差別かつ大量に送り付けられる迷惑メールの一種です。
ウイルス感染や個人情報の取得、詐欺を目的としたメールであることがほとんどなので、返信してしまったり、記載しているURLにアクセスしてしまったら被害にあってしまう可能性があります。

どうしてスパムメールが来てしまうの?

世の中にはメールアドレスを収集するツールがあるのです。
スパマーと呼ばれるスパムメールを送る人は、メールアドレスの自動収集プログラムや、生成ツールなどを使い、Webサイト上に公開されているアドレスを収集して無差別にメールを送ってきます。この自動収集しているプログラムやロボットの多くは、HTMLソースに「mailto:」や「@」を目印にしてメールアドレスであるかを判断しています。そのため、HTMLソースなどに直接メールアドレスを書き込んでしまうことがスパムメールの被害に遭う可能性が出てきてしまうわけです。

その他にも、プログラムによってランダムにアドレスを生成したり、コンピューターウイルスによって収集されたりする場合もあります。ウイルスの場合は、電話帳から情報を盗まれてしまって、第三者の情報まで漏洩してしまう可能性もあるのでとても注意が必要です。

スパムメールの危険性

大量に送られてきて迷惑、メールフォルダの圧迫、サーバーへの悪影響などだけではなく、より危険なものも存在しています。

ウイルス感染の恐れ

スパムメールにはURLが記載してあったり、ファイルが添付されている場合があります。
URLの遷移先、添付ファイルにはウイルスが仕込まれている可能性もあるため、信頼できないメールの場合は絶対にクリックしてはいけません。

気を引くような文面でクリックさせようとしているケースも多くあるため、注意しなければいけません。クリックしてしまうことで、使われているメールアドレスだと判断されてより一層スパムメールが送られてくるようにもなってしまいます。

情報漏洩

スパムメールによってウイルスに感染するなどがきっかけで、情報漏洩に繋がること可能性もあります。
ウイルスによりパソコンや携帯から情報を盗み出されれば、個人情報や重大な情報の流出、ファイルの改ざんや削除、口座の不正利用など、第三者にまで被害を出してしまうことになってしまいます。

とにかく不明なメールのURL、添付ファイルは開かないようにしましょう。

スパムメールを防ぐために

それではスパムメールを防ぐための対策方法をご紹介いたします。

できれば避けたい記述方法

<p>お問い合わせはこちら:<a href="mailto:info@and-ha.test">info@and-ha.test</a></p>

「mailto:」を使うことで、ユーザーがクリックしたらメーラーが立ち上がるため便利な方法ですが、「mailto:」を目印にしてメールアドレスを自動収集されてしまう可能性があるためスパム被害の可能性が高まります。

表示するメールアドレスを画像にしてしまう

これは単純な話ですね。画像にしてしまえば、読み取ることができません。
ただし、アドレスが変わるたび画像を差し替えなければいけない、ユーザーがアドレスを手打ちしなければならない、タイプミスにより正しくメールが届かないなど、デメリットが多くあります。

ダミーテキストを含ませる

たまに見かけるかもしれませんが、「info▲and-ha.test(▲を@に置き換えてください)」といったような表記は「@」を全角文字やダミーテキスト、記号などにすることで自動収集させない方法です。
こちらも、ユーザーに変換してもらう手間がかかってしまう上に、全角「@」で対応している場合は自動収集プログラムやロボットが全角でも収集できるように作られている場合は意味がなくなってしまいます。

「@」のみ擬似要素で表示するというやり方もありますが、コピーした際に「@」が抜けた状態になるのでユーザーに追加してもらう必要があります。

また、ダミーテキストをアドレス内に含ませて、CSSでそこだけ非表示にするという方法もあります。

<p>お問い合わせはこちら:info<span class="no-spam">loajrhgp</span>@and-ha.test</p>

.no-spam {
	display: none;
}

この方法であればブラウザ上でコピーしても実際に表示されている箇所のみをコピーすることができます。

エンティティ化

エンティティ化とは、文字を「エンティティコード」と呼ばれる数字や記号でできた特殊なコードに置き換えることをいいます。

たとえば「info@and-ha.test」をエンティティ化して使うとすると下記のようになります。

<p>お問い合わせはこちら:<a href="m&#97;i&#108;t&#111;:&#105;&#110;f&#111;@&#97;n&#100;&#45;&#104;a&#46;t&#101;st">&#105;&#110;f&#111;@&#97;n&#100;&#45;&#104;a&#46;t&#101;st</a></p>

エンティティ化された文字列は、ブラウザ上では正しく表示されます。ですが、HTMLソース上では数字と記号が組み合わさりメールアドレスであると判断しにくくなるため、自動収集される可能性が少なくなります。

ですが、一定の法則で文字が変更されているため、簡単に予測できてしまいます。
そのため現在ではエンティティ化の効果はほぼ無いと言われています。
なにもしないよりかはマシという程度です。

JavaScriptによる暗号化

JavaScriptを利用してメールアドレスを暗号化する方法です。

```
<script type="text/javascript">
<!--
function converter(M){
var str="", str_as="";
for(var i=0;i<M.length;i++){
str_as = M.charCodeAt(i);
str += String.fromCharCode(str_as + 1);
}
return str;
}
function mail_to(k_1,k_2)
{eval(String.fromCharCode(108,111,99,97,116,105,111,110,46,104,114,101,102,32,
61,32,39,109,97,105,108,116,111,58) 
+ escape(k_1) + 
converter(String.fromCharCode(104,109,101,110,63,96,109,99,44,103,96,45,115,100,114,115,
62,114,116,97,105,100,98,115,60)) 
+ escape(k_2) + "&#039;");} 
document.write(&#039;<a href=JavaScript:mail_to("","")>(必ずお問い合わせなどの文字を入力してください)<\/a>&#039;);
//-->
</script>
<noscript>(画像などを設置)</noscript>

```

JavaScriptと聞くと一見難しそうに感じますが、暗号化を行えるツールなども存在しているためそこまで難しいことはありません。

(※上記はメールアドレス収集ロボット対策用 メールアドレス暗号化ツールを利用させていただいています。)

JavaScriptで対応する場合は、JavaScriptがoffになっている場合に表示されないというデメリットがあるので、その場合の表示方法もしっかり設定しておきましょう。

お問い合わせ用フォームを用意する

最近ではそもそもメーラーがメールリンクに対応していないものもあるため、メールリンクは使わずお問い合わせ用のフォームを作成する方法です。
フォームを作成した場合でも同じようにスパム対策は必要になってきますが、スパム対策機能のついたフォーム作成ツールもあるため、いくつかご紹介させていただきます。

Googleフォーム

Googleフォーム

https://www.google.com/intl/ja_jp/forms/about/

Googleフォームは、だれでも簡単にお問い合わせフォームやアンケート、投票など、Web上でよく利用されるさまざまな用途のフォームを作成することができます。

設定から下記2つにチェックを入れることで「reCAPTCHA」を設置することができます。

  • メールアドレスを収集する
  • 回答のコピーを送信

reCAPTCHAとはGoogle社が提供している、スパムなどからサイトを保護するためのシステムです。

Tayori(タヨリ)

Tayori(タヨリ)

https://tayori.com/

Tayoriはメールフォームのデータを暗号化してやり取りできるようになります。またスパム業者にメールアドレスを収集させないつくりになっているので、スパムメールが届きにくくなります。

formrun(フォームラン)

formrun(フォームラン)

https://form.run/home

フォームの作成から顧客管理、問い合わせ対応までを一本化して行えるところが魅力的なツールです。
formrunには「reCAPTCHA」「Honeypot」のスパム対策の設定ができるようになっています。

まとめ

ホームページ上にお問い合わせ用などのメールアドレスを公開する場合は、スパム対策が必要不可欠です。ウイルス感染や情報漏洩などのスパムメールの被害にあうリスクをできるだけなくすためにも、しっかりと対策を行なっていきましょう。

これからメールアドレスを設置する方、既にスパム対策を行なっていない状態で公開してしまっている方のお役に立てれば幸いです。

必ずスパム対策を行い、被害をなくしていきましょう!