所以我有一个几乎是空的 HTML 页面,有一个空的 div 标记,当窗口加载时填充。
我读过我们应该对用户电子邮件进行编码以减少垃圾邮件。我的页面具有以下 HTML:
<div id="email"></div>
我动态填充内容,例如:
document.getElementById("email").innerHTML = "<a href=...>"
在呈现页面时,我什至需要使用 javascript 对电子邮件进行进一步编码吗?
所以我有一个几乎是空的 HTML 页面,有一个空的 div 标记,当窗口加载时填充。
我读过我们应该对用户电子邮件进行编码以减少垃圾邮件。我的页面具有以下 HTML:
<div id="email"></div>
我动态填充内容,例如:
document.getElementById("email").innerHTML = "<a href=...>"
在呈现页面时,我什至需要使用 javascript 对电子邮件进行进一步编码吗?
你可以使用这样的脚本。任何可以运行 Javascript 的机器人仍然可以访问电子邮件,但由于<a>
标记和电子邮件地址在源代码中的任何地方都不可见,因此仅下载 HTML 然后扫描电子邮件地址的机器人不会注意到电子邮件地址.
<script>
(function(d){
var s = d.getElementsByTagName('script');
s = s[s.length - 1];
var a = d.createElement('a');
a.href = rot13('znvygb') + '\x3a' +
rot13(arguments[2]) + '\x40' + rot13(arguments[3]);
a.innerHTML = arguments[1];
s.parentNode.insertBefore(a, s);
function rot13(s){
return s.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});
}
})(document, 'Send Email', 'wbuaqbr', 'tznvy.pbz');
</script>
我同意上面评论中的 Matt Greer 的观点。
就个人而言,即使通过 javascript,我也不会使任何电子邮件在线可读。如果任何项目都需要它,则只对注册成员可见。如果您的注册过程足够安全并且没有垃圾邮件,那么电子邮件也将如此。
然后像上面这样的基本 javascript 实现将是非常安全的。