メールアドレスや電話番号を「表記変換」で隠す理由

公開ページにメールアドレスをそのまま載せることは、事実上スパムボットへの招待状のようなものです。難読化がなぜ有効なのか、そしてその限界を見てみましょう。

ボットはパターンを頼りに公開Webを巡回する

自動収集ボットは正規表現などを使ってメールアドレスや電話番号らしきパターンをページ内から探し出し、大量に収集していく。特定の悪意を持たなくても、機械的なパターン照合だけで大規模に行われる。

[at]や[dot]表記は単純なパターン照合を回避する

[email protected]」の代わりに「name [at] example [dot] com」のように書くことで、単純なボットが探す正規表現パターンを崩しつつ、人間にはそのまま読める状態を保てる。

電話番号は全角数字や漢数字への置き換えでも同様の効果

半角数字をそのまま並べる代わりに全角数字や漢数字、数字の言い換えなどを使うことで、単純な電話番号パターンとの一致を避けつつ、人間には読める状態を保てる。

画像として表示する方法はより強力だが利便性は下がる

単純なテキスト収集ボットはOCRなしでは画像内の文字を読み取れないため、テキストの表記を変える方法より多くのボットをブロックできるが、コピー&ペーストができず、スクリーンリーダーでのアクセシビリティも損なわれる。

JavaScriptで表示する方法は生のHTMLしか読まないボットを防げる

ページ読み込み後にJavaScriptで連絡先を組み立てて表示することで、HTMLをそのまま読むだけのボットは防げるが、JavaScriptを実行できる高度なスクレイパーには依然として突破される可能性がある。

公開情報を投稿する誰にとっても関係がある理由

掲示板やブログのコメント欄、ビジネスの掲載ページなどに公開された連絡先は、比較的短期間のうちにスクレイパーに収集されてしまいます。収集された連絡先はスパム電話やフィッシングメッセージ、スパムメールのリストとして転売・集約されることが多く、難読化はこうした自動収集を意味のある程度まで減らせる、コストの低い第一の防御策です。ただし、あなたの情報を特定して探している人間には効果がありません。

完璧な難読化の方法は存在しない

機械学習やヒューリスティックを使う高度なスクレイパーは、単純な置き換えの工夫を部分的に見破れるようになってきています。またボットへの摩擦を増やす手法は、多くの場合正規の人間ユーザーにとっても多少の不便(コピペができない、スクリーンリーダー利用者にとってのアクセシビリティ低下など)を伴います。実用上は、ある程度強力な難読化と、実際にすり抜けてきたスパムの監視・フィルタリングを組み合わせるのが現実的で、100%の遮断を期待しない方がよいでしょう。

よくある質問

メールアドレスを難読化すれば、スパムを完全に防げますか?

いいえ。単純なボットによる自動収集は大きく減らせますが、本気であなたの情報を探している人間や、よくある難読化パターンを見破るよう作られたボットまでは防げません。あくまで摩擦を増やし量を減らすための対策であり、完全な保証ではありません。

連絡先を難読化することにデメリットはありますか?

あります。標準的な表記ではなくなるためmailto:やtel:リンクとしてそのままクリックできなくなり、コピー&ペーストもきれいにできなくなります。またスクリーンリーダーなどの支援技術が正しく読み取りにくくなることもあるため、スパム対策と使いやすさのトレードオフになります。