通过隐藏电子邮件地址来对抗垃圾邮件地址(显示:无)

时间:2012-08-31 19:03:09

标签: jquery spam-prevention email-spam

如果我设置了display: none,是否可以阻止垃圾邮件程序在我的电子邮件地址中爬行?如果你愿意,我有一个小小游戏的想法,用户点击电子邮件的链接,然后显示一两个“你确定你不是机器人”的问题。一旦这些问题得到解答,它就会显示真实的链接。

问题是我假设机器人可以看到链接,因为它显然存在于HTML中,即使它不可见。有办法解决这个问题吗?

另外,我希望这些问题能够淡出,但据我所知,CSS3过渡不支持显示或可见性属性。我不得不求助于jQuery吗?如果是这样,当从display: none切换到display: block时,是否有人可以指示我替代元素淡出?

3 个答案:

答案 0 :(得分:0)

不,display: none无效。

唯一真正的解决方法是不要在HTML中使用它。例如,将其设为图像,或使用JavaScript将其解密为单个元素,这些元素可以绝对(和单独)放置,以供浏览器的人类查看器正确查看。

请注意,如果你去图像路线,spambots当然可以读取图像,所以也许你应该用一些随机图像(如旧的验证码)对它进行一些混淆。

关于CSS3不支持visibility / display,你是对的,但你可以使用opacity属性来淡化你决定显示你的电子邮件地址的内容。 CSS3过渡完全支持opacity

答案 1 :(得分:0)

大多数抓取工具会分析网页的标记,而不是可视化渲染的版本。使用display: none的效果很小。

此外,您不需要使用jQuery来实现淡入淡出效果。设置不透明度然后使用以下内容将很好地工作:

-webkit-transition: opacity 0.2s linear;
        transition: opacity 0.2s linear;

答案 2 :(得分:0)

您可能希望实施联系表单,而不是显示电子邮件地址。您可以使用验证码或蜜罐方法保护该表单。此外,您可以使用Javascript渲染表单,因为许多机器人不会运行Javascript(我希望)。