这是网站上反复出现的问题,但在浏览旧问题20分钟后,我无法找到现代解决方案.
我以前使用这种基于JS的方法来保护地址.在JS方法之前,我使用的是基于图像和闪存的解决方案.以下是我的旧方式.
动画示例代码:http://codepen.io/anon/pen/kIjKe/
HTML:
<span class="reverse eml">moc.niamod@tset</span><br>
CSS:
.reverse { unicode-bidi: bidi-override; direction: rtl; } .eml { display: inline; }
JS:
function reverseEmails() { if (jQuery(".eml.reverse").length > 0) { jQuery(".eml.reverse").each(function() { var that = jQuery(this); var email = that.text().split("").reverse().join(""); that.removeClass("reverse"); that.html("<a href='mailto:" + email + "'>" + email + "</a>"); }); } }
现在这些方法似乎都不起作用,因为基于Node.js的刮刀能够生成他们正在抓取的页面的图像,然后从所述图像中读取任何人类可读的数据 – 您可以猜测其余的.
解决方法
将电子邮件地址放在一个单独的页面上,该页面只能通过解决CAPTCHA来访问.
当然,安全性与CAPTCHA的安全性一样好.
如果您只想拥有有限数量的地址,那么使用您自己的混淆可能是一个严肃的选择.我过去曾用过的一些想法;
>填字游戏.让它变得非常简单,像着名的歌曲标题一样缺少一个单词(很容易谷歌,没有关于可能的第二种解释的争论).您可以填写许多字母,以使其更容易.
>带背景噪音的录音.我不想使用自己的声音,所以我使用了带有德语口音的语音合成器( – :AT& T网络演示IIRC),并在背景中混合了几秒音乐(Frank Zappa的Peaches en regalia工作对我来说很好,但味道不同).
>手绘图像.我喜欢绘制字母大纲,但我怀疑它们是否足以通过任何OCR.
这里真正的牛肉不是这些解决方案的绝佳亮点,但我希望不同的方法可以激发你思考新的方向.最后,如果您想出自己独特的解决方案,您将始终更安全;任何类似“新的事实上的标准”的东西都将是刮刀花时间尝试采摘的最低成果.
顺便提一下,我试着考虑残障人士的可用性,所以我实际上将音频版本作为后备用于那些与其他两个有交互问题的人,这些人基于视觉布局.
到目前为止,很少有人想要给我发送这些天的电子邮件(或许他们这样做,但最终被拒绝作为垃圾邮件?)这坦率地说是一种解脱.那些通常使用我的域名的whois注册信息(使用whois注册商提供的匿名地址)或者是好的猜测者.