javascript电子邮件混淆真的有多安全吗?

Edw*_*uay 7 html javascript obfuscation spam-prevention email-spam

为了在我的网站上放置电子邮件地址,我使用这个Javascript:

function showEmailLink(user, domain, linkText) {
 if (linkText == "") {
  linkText = user + "@" + domain;
 }
 return document.write("<a href=" + "mail" + "to:" + user + "@" + domain
   + ">" + linkText + "<\/a>");
}
Run Code Online (Sandbox Code Playgroud)

所以在我的HTML中我可以这样写:

please send me an 
<script type="text/javascript">
  <!--
  showEmailLink("edward","tanguay.info","e-mail");
  //-->
</script>
Run Code Online (Sandbox Code Playgroud)

这可以保护我的网站免受通过屏幕抓取源代码来收集电子邮件地址的垃圾邮件发送者的影响,因为我的电子邮件不在文本中.

但是,我无法想象一个有动力的垃圾邮件制造者无法以某种方式编写屏幕保护程序,这可能会根据此javascript和HTML代码机械地确定电子邮件地址.

这种javascript电子邮件混淆方法真的有多安全吗?

Amb*_*ber 14

这不是一个"安全"的问题 - 普通用户可以看到的任何东西都不是"安全的",因为任何真正确定的恶意实体都可以像普通用户一样行动并实际渲染/评估页面.

这更像是一个威慑问题 - 自动化收割机关心多少?我没有确切的数字,但我的猜测是大多数收割者都不会费心去完全渲染或评估页面,因为它们有很多"更软"的目标,而且完全评估页面的脚本需要更长的时间这不适合快速大规模爬行.

如果你真的想要阻止收割机,那么现在最好的威慑可能是让CAPTCHA检索像Mailhide这样的地址.然而,如果收割机得到足够的确定(通过诸如知情或甚至不知情的众包CAPTCHA破坏等方法),即使这样也可能被挫败.