ROT13によるメールアドレスの難読化
ROT13を使ってWebページやソースコード内のメールアドレスを難読化し、ボットによるスパム収集を減らしつつ、人間には簡単に復元できるようにする方法を学びます。
ROT13 Fundamentals
詳細な説明
ROT13によるメールアドレスの難読化
ROT13の創造的な応用の一つは、自動スパムハーベスターからメールアドレスを隠しつつ、人間の訪問者にはアクセス可能に保つことです。
スパム問題
Webクローラー(ボット)はページをスキャンしてuser@example.comのようなパターンを探し、スパムメーリングリストを構築します。メールアドレスをプレーンテキストで表示すると、簡単なターゲットになります。
防御としてのROT13
メールアドレスをROT13でエンコードし、小さなJavaScriptスニペットでページロード時にデコードすることで、単純なボットがアドレスを見つけるのを防げます。
効果はどの程度か?
ROT13の難読化は、リテラルな@記号や.comパターンを探す最も単純なボットを阻止します。ただし:
- 基本的なボット: 効果的にブロック
- 高度なボット: JavaScriptを実行したりROT13パターンを認識する可能性
- 非常に高度なボット: ブラウザのようにページをレンダリングし、可視のメールを抽出
他のテクニックとの組み合わせ
より良い保護のために、ROT13を以下と組み合わせてください:
- CSSの方向トリック:
direction: rtlでメールを逆方向に表示 - HTMLエンティティエンコーディング: @記号に
@を使用 - コンタクトフォーム: メールリンクをコンタクトフォームページに完全に置き換え
注意点
- ROT13は文字のみを回転させます。
@と.の文字はそのまま通過します - 一部のスパムボットはROT13エンコードされたアドレスを特にチェックするようになっています
- JavaScriptのないユーザーにはフォールバックを提供してください
ユースケース
ROT13によるメール難読化は、個人のWebサイト、オープンソースプロジェクトページ、および連絡先メールアドレスを表示しつつ自動スパム収集の量を減らしたい公開Webページに有用です。