2016-01-18 17 views
1

我最近在我开发的几个网站上完成的一项工作是创建一个包含JavaScript函数,该函数根据参数打印电子邮件地址。下面举个例子:使用JavaScript函数打印电子邮件地址以防止垃圾邮件有多好?

/index.html

... 
<head> 
<script src="/script/main.js></script> 
</head> 
<body> 
... 
<p><script>printEmail('info');</script></p> 
... 

/script/main.js

function printEmail(a) { 
    document.write('<a href="mailto:' + a + '@domain.com">' + a + '@domain.com</a>'); 
} 

的思维过程,我有是相对较小的脚本应该帮助下不包括阻止垃圾邮件机器人电子邮件地址完整位于源代码中。它变得可读的唯一地方是通过渲染引擎。

那么它是安全的吗?另外,它与其他预防方法相比有多安全?

回答

2

如果它在页面加载时呈现页面,我不认为这会做任何事情,因为垃圾邮件机器人会等待页面加载,然后抓取电子邮件。

如果您需要进行用户操作,比如将鼠标悬停在电子邮件上以显示完整的电子邮件,此时javascript会将其打印出来,但我认为这会更有效,并且我已经看到了正在使用的那些内容在之前的页面上。

+0

因此,我想有一个第二个问题会有受到电子邮件影响的垃圾邮件不在源中,因为该源根本不包含链接。或者,他们是否会查看呈现的输出并尝试使用正则表达式来查找与某些分隔符相匹配的内容,例如@符号后跟文本和句点?或者他们只是简单地浏览一个页面试图找到一个链接点击打开一个电子邮件协议处理程序? – DarkWolffe

+0

@DarkWolffe:从个人经验来看,在源代码中隐藏或不包含电子邮件地址会阻止不喜欢javascript的人撰写垃圾邮件的90%。但其他10%使用Phantom.js编写垃圾邮件,以便他们可以解析DOM而不是源代码。这个数字可能会随着越来越多的垃圾邮件发送者学习这个秘密而变化 – slebetman

相关问题