html邮件隐藏代码,html – 从Bots隐藏电子邮件地址 – 保持mailto:

tl; dr

从机器人隐藏电子邮件地址,而不使用脚本并维护mailto:功能。方法还必须支持屏幕阅读器。

概要

>电子邮件混淆,而不使用脚本或联系表单

>电子邮件地址需要对人类视图完全可见,并保持mailto:功能

>电子邮件地址不能是图像形式。

>电子邮件地址必须“完全”对垃圾邮件抓取工具和垃圾邮件机器人和任何其他收割机类型隐藏

期望效果:

>没有脚本。项目中没有使用脚本,我想保持这样。

>电子邮件地址显示在页面上,或者可以在某种用户交互(如打开模态)后轻松显示。

>用户可以点击电子邮件地址,从而触发mailto:功能。

>点击电子邮件将打开用户的电子邮件应用程序。

换句话说,mailto:功能必须工作。

>电子邮件地址不可见或未标识为电子邮件地址(包括页面源)

>我没有一个充满垃圾邮件的收件箱

什么不工作

>添加联系人表单(或任何类似内容),而不是电子邮件地址

我讨厌联系表格。我很少填写联系表格。如果没有电子邮件地址,我会寻找一个电话号码,如果没有,我开始寻找替代服务。我只能填写联系表格,如果我绝对需要。

>使用地址的图像替换地址

这对于使用屏幕阅读器的人造成了巨大的不利(请记住你未来项目中的视觉障碍者)

它也删除了mailto:功能,除非你使图像可点击,然后添加mailto:功能作为链接的href,但是打败了目的,现在电子邮件是可见的机器人。

可能工作:

>在CSS中伪元素的聪明用法

>使用base64编码的解决方案

>分离电子邮件地址,并在文档中传播零件,然后在用户单击按钮时将它们组合在一起(这可能涉及多个CSS类和锚标签的使用)

>通过CSS改变html属性

@MortezaAsadi在下面的评论中优雅地提出了可能性。这是链接到完整 – 文章是从2012年:

类似问题/修复

(这是Joe Maller建议的一个很好的修复,它工作良好,但它是基于脚本的。

emailE = 'emailserver.com'

emailE = ('yourname' + '@' + emailE)

document.write('' + emailE + '')

Email address protected by JavaScript

(一个聪明的解决方案使用PHP和CSS首先使用PHP反向电子邮件,然后反向回来与CSS)一个非常有前途的解决方案,伟大的工作!但它太容易解决。

> Is it worth obfuscating email addresses on the web these days?

所选答案工作。它实际上工作非常好。它涉及将电子邮件编码为html实体。可以改进吗?

这是它的样子;

yourname@domain.com

(这个超级用户问题的选择答案是伟大的,它介绍了通过使用不同的混淆方法收到的垃圾邮件的量的研究。

似乎操纵电子邮件地址与CSS,使其rtl工作。这是我在本节中链接的第一个问题中使用的相同方法。

我不确定添加mailto:功能的修复会对结果有什么影响。

>在SO还有很多其他问题,都有类似的答案。我没有找到任何符合我期望的效果

问题:

通过组合两个或更多的修复(或甚至添加新的修复),同时可以提高上述电子邮件混淆方法的效率(即尽可能少的垃圾邮件):

A-维护mailto:功能;和

B-支持屏幕阅读器

编辑:

下面的许多答案和评论提出了一个很好的问题,同时指出不可能做到这一点,没有某种js

问题/暗示的问题是:

Why not use js?

答案是我对js过敏

开玩笑,

我问这个问题的三个主要原因是:

>联系表格越来越被接受为替代品

提供电子邮件地址 – 他们不应该。

>如果它可以没有脚本,那么它应该没有

脚本。

>好奇心:(因为我实际上使用的js修复目前)我想看看讨论这个问题是否会导致一个更好的方式做。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值