概要
- メールアドレスをスパマーから隠すための 最新防御テクニック とその突破率を解説
- HTML・CSS・JavaScript・画像 など多様な方法を網羅
- それぞれの手法の長所・短所、実用性、ユーザビリティ に触れる
- クリック可能なメールリンク の保護方法も詳細に紹介
- 統計データ 付きで、実際にどれだけのスパマーを防げるか明示
メールアドレス防御テクニックと突破率
- メールアドレスを 平文で記載 すると、全てのスパマーに捕捉される危険性
- 各手法を 組み合わせて分割 し、複合防御することが理想
1. 平文メールアドレスの保護手法
-
無防備(No protection)
- スパマー防御率0%、全く効果なし
-
HTMLエンティティ化
- 例:ab@...
- 95%のスパマーをブロック
- サーバー側で自動デコードされやすく、万能ではないが意外と効果あり
-
HTMLタグ分割
- 例:ac@email.spencermortensen<!--.example-->.com
- 98%のスパマーをブロック
- 基本的なハーベスターには有効、上級者には突破されやすい
-
SVGオブジェクト内に埋め込む
- 100%のスパマーをブロック
- 視覚・スクリーンリーダー対応、imgではなくobject必須
-
CSS display:noneで分割テキストを隠す
- 100%のスパマーをブロック
- スタイル無視のハーベスターには強い、アクセシビリティも維持
-
JavaScriptで文字列連結
- 100%のスパマーをブロック
- HTMLソースに全情報が残るため、完全な安全性はない
-
JavaScript ROT18変換
- 100%のスパマーをブロック
- JS非対応のハーベスターには有効、変換パターンの工夫が必要
-
JavaScript独自変換
- 100%のスパマーをブロック
- HTML内は無意味な文字列、独自関数で復元、最強クラスの防御
-
JavaScript AES暗号化
- 100%のスパマーをブロック
- SubtleCrypto利用、https必須、外部JS必須、復号困難
-
ユーザー操作時のみ表示(JS)
- 100%のスパマーをブロック
- ユーザー操作必須、ハーベスターには非常に高い障壁
-
記号置換(AT/DOT)
- 97%のスパマーをブロック
- 誰でも復号可能、ユーザビリティ低下
-
HTML内で補足説明付き記述
- 100%のスパマーをブロック
- 人間やAI以外には困難、ユーザーの手間増大
-
画像化
- 100%のスパマーをブロック
- 視覚障害者やコピペ不可、ユーザビリティ最悪
-
CSS content擬似要素で表示
- 100%のスパマーをブロック
- テキストは見えるがコピペ不可、HTMLから復元可能
-
CSSテキスト方向逆転
- 100%のスパマーをブロック
- 表示は逆順、コピペ時に混乱、基本的に無意味
2. クリック可能なメールリンク保護
-
無防備なmailtoリンク
- スパマー防御率0%、全く効果なし
-
mailtoのHTMLエンティティ化
- 100%のスパマーをブロック
- サーバー側でデコードされやすいが、現実には有効
-
mailtoのURLエンコード
- 96%のスパマーをブロック
- サーバー側で復号容易、意外と効果あり
-
HTTPリダイレクト経由mailto
- 100%のスパマーをブロック
- mailtoリンクを通常リンクに偽装、.htaccessによるリダイレクト設定
- 検索エンジン対策にnofollow, noindex推奨
-
SVG内objectでメールリンク
- 100%のスパマーをブロック
- 視覚・スクリーンリーダー対応、object必須、img不可
各手法の要点と選び方
- HTML・CSS・JS・画像 など多様な手法が存在
- ユーザビリティと防御力のトレードオフ を考慮
- 画像化やCSS逆転などはユーザー不便
- JS変換やSVG埋め込みは高防御・高アクセシビリティ
- 複数手法の組み合わせ で最大効果
- https必須の手法 も存在(例:AES暗号化)
まとめ
- メールアドレス公開時は 複数の防御策併用 が最適
- ユーザー体験と防御力のバランス を意識
- 最新のJSやSVGを活用 し、できる限り平文は避ける
- 統計データ を参考に、実運用環境に適した手法選択が重要