跳转到内容
搜索文档

电子邮件地址混淆

最后更新 查看 MarkdownAgent 设置

启用 Cloudflare 电子邮件地址混淆后,网页上的电子邮件地址将对机器人隐藏,同时对人类保持可见。实际上,访问者看不到您网站的任何可见变化。

背景

电子邮件收集程序和其他机器人会在互联网上搜寻电子邮件地址,将其加入列表以向收件人发送垃圾邮件。这一趋势导致不必要的邮件不断增加。

网站管理员想出了巧妙的保护方法,例如将电子邮件地址写成 help [at] cloudflare [dot] com,或使用嵌入的电子邮件地址图片。但是,您会失去点击电子邮件地址自动发送邮件的便利。启用 Cloudflare 电子邮件地址混淆后,网页上的电子邮件地址会对机器人进行混淆(隐藏),同时对人类保持可见。实际上,访问者看不到您网站的任何可见变化。

工作原理

启用电子邮件地址混淆后,Cloudflare 会将 HTML 中可见的电子邮件地址替换为类似 [email protected] 的链接。若访问者看到此混淆格式,可点击链接以显示实际电子邮件地址。此方法可防止机器人抓取电子邮件地址,同时保持真实用户可访问。

Cloudflare 会使用 defer 属性向页面注入一个小型解码脚本(email-decode.min.js)。这意味着该脚本不会阻塞页面渲染。它与 HTML 解析并行下载,并在文档完全解析后执行。若您有与混淆电子邮件元素交互的自定义 JavaScript,请注意解码脚本会在 DOMContentLoaded 事件之前运行。

更改电子邮件地址混淆设置

注册时,Cloudflare 会自动启用电子邮件地址混淆。

要在仪表板中禁用 Email Address Obfuscation(电子邮件地址混淆)

  1. 在 Cloudflare 仪表板中,前往安全 Settings(设置) 页面。

    Go to Settings ↗
  2. (可选)按 Client-side abuse(客户端滥用) 筛选。

  3. 对于 Email Address Obfuscation(电子邮件地址混淆),将开关切换为 Off(关闭)

要在仪表板中禁用 Email Address Obfuscation(电子邮件地址混淆)

  1. 在 Cloudflare 仪表板中,前往 Scrape Shield(抓取防护) 页面。

    Go to Scrape Shield ↗
  2. 对于 Email Address Obfuscation(电子邮件地址混淆),将开关切换为 Off(关闭)

要通过 API 禁用 Email Address Obfuscation(电子邮件地址混淆),请发送 PATCH 请求,在 URI 路径中将设置名称设为 email_obfuscation,并将 value 参数设为 "off"

阻止 Cloudflare 混淆电子邮件

要阻止 Cloudflare 混淆特定电子邮件地址,您可以:

  • 在页面 HTML 代码中添加以下注释:

    <!--email_off-->[email protected]<!--/email_off-->
  • 在 AJAX 调用中以 JSON 格式返回电子邮件地址,并确保您的 Web 服务器返回内容类型 application/json

  • 通过创建应用于特定端点的 configuration rule 来禁用 Email Obfuscation 功能。


排查电子邮件混淆问题

为防止意外的网站行为,电子邮件地址在以下情况不会被混淆:

  • 任何 HTML 标签属性中,a 标签的 href 属性除外。
  • 其他 HTML 标签中:
    • <script></script>
    • <noscript></noscript>
    • <textarea></textarea>
    • <xmp></xmp>
    • <head></head>
  • 任何 MIME 类型不是 text/htmlapplication/xhtml+xml 的页面。

这篇文档对您有帮助吗?