ホームページに掲載しているメールアドレスをスパム(迷惑メール)送信業者から守る方法
2018/10/6
ホームページ上でメールアドレスを公開していると、いつの間にか届くようになるスパムメール。届くだけでも非常に迷惑ですが、間違えて添付ファイルを開いてしまったり、だまされて本文中にあるリンクをクリックしてしまうと、マルウェア感染やログイン情報の盗難など、大きな被害に遭ってしまいます。ここではスパムメールの特徴と対策を紹介していきます。
スパムメールってなに?
スパムメールとは、宣伝目的で一方的に送り付けられる「迷惑メール」のことです。もちろんこちらの意向は完全無視です。中にはワンクリック詐欺などへの悪質な誘導を図る場合もあります。
スパムメール送信業者はどうやってメールアドレスを集めているのか
人間がネットでメールアドレスらしきものを見つけて、メモ帳やWordなどに保存して集めていたら、時間がいくらあっても足りないですよね。
スパムメールの送信業者は、ロボット(自動巡回プログラム)によって自動収集させたリストを販売している業者から、メールアドレスを購入していると言われています。
サーチエンジンの自動巡回ロボットが毎日世界中のサイトを訪問し、その内容をデータベースに登録していっているのと同じように、このスパムメール送信用のメールアドレス収集部隊ともいうべき巡回ロボットが訪問してきてます。このようなロボットは、HTMLソースを分析し、メールアドレスらしきもの(@があって、その前後に半角英数字が並ぶもの。)をどんどん記録していきます。
そのため、このロボットに読み取れないような形であれば、スパムメールの受信量は劇的に減る可能性があるということになります。
メールアドレスの自動収集を防ぐには
対策その1:メールアドレスを画像にする
画像にメールアドレスを載せれば、一般レベルのロボットは、まず読み取ることができません。
ただし欠点としては、いざメールで問い合わせしようとした第三者がタイプミスをしてしまって、メールアドレス間違いからメールを送信できないトラブルに巻き込まれる可能性があるということです。
フォントによっても、「0」(ゼロ)と「O」(オー)、「1」(いち)と「l」(エル)の区別が難しい場合も十分にありえます。
しかしだからといって、HTMLに直接書いてしまえば、元の木阿弥です。
対策その2:「@」(アットマーク)だけを全角文字にする
「メールは、example@example.co.jpまで(@は半角に書き換えてください)。」のように、アットマークのみ全角文字にします。
たしかに、これであれば、半角の「@」をメールアドレス出現の目印として設計されているメールアドレス収集プログラムに対しては対抗できます。しかし、プログラムを少し変えられて、全角のアットマークもメールアドレスとして認識されるようになれば、やっぱりスパムメールは大量に受信することになります。
また、サイト訪問者に@を書き換えさせるという作業をお願いしなければならないため、その点が難です。初心者だと何をお願いされているか分からない可能性があります。
対策その3:数値参照文字を使い、「@」を「@」と表記する(HTMLエンティティ化)
HTMLで「メールは、example@example.co.jpまで。」と書いておけば、「メールは、example@example.co.jpまで。」と表示されるようになり、メールを書きたい人はメールアドレスの部分だけをコピーできます(これが対策1の画像化との大きな違いです)。また、コピーした後、ユーザーが文字列の一部を変更しなければならない作業も発生しません(対策2との違い)。
また、対策2の場合と同様に、「@」がアットマークのことだということがプログラムの中に組み込まれてしまえば、メールアドレスを収集される危険性はなくなりません。これが欠点です。では、@以外の英数字も全て数値参照文字にしてしまった場合を考えてみましょう。
<a href=”mailto:example@example.co.jp”>example@example.co.jp</a>
のようなHTMLソースにするということです。
このソースを実際にHTMLソースに貼り付けますと、下記のようになります。
実際にリンクをクリックしていただけば、正しく動作していていることを確認していただけるはずです。
ただし、変換テーブルは簡単に作れるため、比較的突破はされやすいです。
それでもこの数値参照文字方式(HTMLエンティティ)で十分効果があると思われる方は、下記のフリー変換プログラムを使ってメールアドレスを変換してみると良いでしょう。
https://ao-system.net/entity/
対策その4:メールアドレスの公開をやめる(CGIフォームを使う)
極論ですが、メールアドレスをホームページ上に公開しなければ、スパムメールの餌食になる可能性は激減します。問合わせメールはmailtoタグでメールを送ってもらうのではなくて、CGI経由で送ってもらいます。これであれば、送り先のメールアドレスを公開する必要がありません。
CGI経由で受け取ったメールに対して返信すれば、差出人のメールアドレスは受信者に分かってしまいますが、スパムメール業者がそこまで面倒なことをするのは稀と思われ、CGIフォームはかなり有効であると思われます。
まとめ
今回は、メールアドレスの自動収集を防げそうな方法を4種類ご紹介致しました。それぞれに長所と短所がありますから、望みに近い方法を選択してみて下さい。複数の方法を組み合わせても良いでしょう。メールアドレスをそのままHTML中に掲載しておくと、あっという間に大量のスパムメールが届くようになってしまいます。既に困っている方々はもちろん、そうでない方々も、ぜひ今のうちに対策をしてみて下さい。