Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

メールアドレスの難読化

最終更新 Markdown で表示Agent セットアップ

Cloudflare のメールアドレス難読化(Email Address Obfuscation)を有効にすると、ウェブページ上のメールアドレスはボットから隠され、人には見えたままです。訪問者から見たサイトの見た目は変わりません。

背景

メールハーベスターなどのボットは、インターネット上を巡回し、スパム送信先リストに載せるメールアドレスを探します。その結果、不要なメールが増えています。

ウェブ管理者は、help [at] cloudflare [dot] com のように書き換える、埋め込み画像にするなど、さまざまな対策をしてきました。ただし、アドレスをクリックしてすぐメールを送る便利さは失われます。Cloudflare の Email Address Obfuscation を有効にすると、ウェブページ上のメールアドレスはボットから難読化(隠蔽)され、人には見えたままです。訪問者から見たサイトの見た目は変わりません。

仕組み

Email Address Obfuscation を有効にすると、Cloudflare は HTML 内の見えるメールアドレスを [email protected] のようなリンクに置き換えます。訪問者がこの難読化形式を見た場合、リンクをクリックすると実際のメールアドレスが表示されます。ボットによる収集は防ぎつつ、実ユーザーはアドレスにアクセスできます。

Cloudflare は小さなデコード用スクリプト(email-decode.min.js)を、defer 属性付きでページに挿入します。このため、スクリプトはページ描画をブロックしません。HTML の解析と並行してダウンロードされ、ドキュメントの解析が終わってから実行されます。難読化されたメール要素を扱う独自の JavaScript がある場合、デコードスクリプトは DOMContentLoaded イベントより前に走る点に注意してください。

Email Address Obfuscation の設定を変更する

Cloudflare は、サインアップ時にメールアドレスの難読化を自動で有効にします。

ダッシュボードで Email Address Obfuscation を無効にする手順は次のとおりです。

  1. Cloudflare ダッシュボードで、Security の Settings ページを開きます。

    Settings を開く ↗
  2. (任意)Client-side abuse で絞り込みます。

  3. Email Address Obfuscation のトグルを Off にします。

API で Email Address Obfuscation を無効にするには、URI パスの設定名を email_obfuscationvalue パラメーターを "off" にして PATCH リクエストを送ります。

特定のメールアドレスを難読化しない

特定のメールアドレスを Cloudflare が難読化しないようにするには、次のいずれかを使います。

  • ページの HTML に次のコメントを追加します。

    <!--email_off-->[email protected]<!--/email_off-->
  • AJAX 呼び出しではメールアドレスを JSON 形式で返し、ウェブサーバーの Content-Type を application/json にします。

  • 特定のエンドポイントに適用する configuration rule を作成し、Email Obfuscation を無効にします。


メールアドレス難読化のトラブルシューティング

想定外のサイト動作を防ぐため、次の場所に現れるメールアドレスは難読化しません。

  • a タグの href 属性を除く、任意の HTML タグ属性。
  • 次の HTML タグ内:
    • <script></script>
    • <noscript></noscript>
    • <textarea></textarea>
    • <xmp></xmp>
    • <head></head>
  • MIME タイプが text/html または application/xhtml+xml でないページ。

役に立ちましたか?