把要放在网页上的邮箱做混淆处理,让 HTML 源码里不出现连续的 name@domain 明文,挡住直接扫源码找 mailto: 和 @ 的垃圾邮件采集脚本。这是混淆不是加密——会执行 JS、会解码实体的爬虫仍能还原。全部在你的浏览器里生成,不上传。
把要放在网页上的邮箱地址做混淆处理,让 HTML 源码里不再出现连续的 name@domain 明文,用来挡住那些直接扫源码找 mailto: 和 @ 的垃圾邮件采集脚本。
需要说清楚的是:这是混淆,不是加密。 凡是会执行 JavaScript、会解码 HTML 实体、会跑一遍页面的爬虫,都能还原出邮箱。它能过滤掉一部分只读静态 HTML 的低级采集器,但不构成真正的安全防护。别用它保护敏感邮箱。
所有代码都在你的浏览器里生成,不上传、不记录。
| 方式 | 原理 | 需要 JS | 能做成可点链接 | 源码里看到的 |
|---|---|---|---|---|
| HTML 实体编码 | 每个字符转成十进制/十六进制实体码 | 否 | 是 | ma… |
| 拆分域名 + 脚本还原 | 用户名和域名分放两个 data 属性,加载时脚本拼回并生成链接 | 是 | 是 | 无连续邮箱、无 mailto: |
| CSS 方向反转 | 源码文字倒序写,靠 direction:rtl 显示为正序 |
否 | 否 | 倒序文本 |
几点提醒:
Q:它能挡住所有垃圾邮件吗? A:不能。它只挡直接读源码找邮箱的低级采集器。会跑 JS 的爬虫、无头浏览器都能还原。真正在意可以配合联系表单、邮箱图片、或服务端才拼接地址。
Q:这算加密吗? A:不算。名字里带"加密"是沿用习惯叫法,实质是可逆的编码 / 混淆,解码方法就在生成的代码里。
Q:预览区能点吗?
A:能。除了 CSS 方向反转那种,其它两种在预览里都是真的 mailto: 链接,点了会唤起邮件客户端。
Q:选"拆分域名"后,访客没开 JS 会怎样? A:会看到一个空位、拿不到邮箱。介意的话用实体编码,它不依赖 JS。
Q:邮箱会上传吗? A:不会。全部在你浏览器里算完,页面本身不发任何请求。
相关:Base64 编码 · 字符转义 · URL 编码 · 正则测试 · robots.txt 生成。