0

所以我有一个几乎是空的 HTML 页面,有一个空的 div 标记,当窗口加载时填充。

我读过我们应该对用户电子邮件进行编码以减少垃圾邮件。我的页面具有以下 HTML:

<div id="email"></div>

我动态填充内容,例如:

document.getElementById("email").innerHTML = "<a href=...>"

在呈现页面时,我什至需要使用 javascript 对电子邮件进行进一步编码吗?

4

2 回答 2

1

你可以使用这样的脚本。任何可以运行 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>

JSFiddle

于 2013-05-23T22:54:06.420 回答
1

我同意上面评论中的 Matt Greer 的观点。

就个人而言,即使通过 javascript,我也不会使任何电子邮件在线可读。如果任何项目都需要它,则只对注册成员可见。如果您的注册过程足够安全并且没有垃圾邮件,那么电子邮件也将如此。

然后像上面这样的基本 javascript 实现将是非常安全的。

于 2013-05-23T22:45:02.087 回答