javascript - 在不使用 javascript 的情况下隐藏来自垃圾邮件机器人的电子邮件

标签 javascript spam-prevention

我有一个使用 Ajax(即依赖于异步请求)的“联系我们”表单。

如果用户禁用了 javascript,我想显示一条消息,内容如下:

You need to enable Javascript to use this contact form. If you can't, or don't know what Javascript is, then use your email and contact us at <the_email_address>.

当然,我想隐藏the_email_address来自垃圾邮件机器人。

由于此电子邮件地址必须显示在 <noscript> 中,用 Javascript 来混淆它是没有意义的,特别是考虑到一些用户可能根本不知道什么是 Javascript。

我想到了一个解决方案,但我无法测试它:Inserting empty <span></span>标签,如

my_em<span></span>ail@g<span></span>mail.com

或者,更聪明一点

my_em<span style="display:none">garbage</span>ail@gmail.com

那行得通吗?如果没有,还有更好的主意吗?

更新

感谢 RichieHindle 的回答。我想我会在 python 中分享这个想法的简单实现:

def html_nospam(string):
    def ent(char):
        return "&#%d;" % ord(char)
    return ''.join([ent(c) for c in string])

最佳答案

使用 HTML 实体对其进行混淆。 x@y.com 变为 x@y.com

您可能认为地址收割机在这方面是明智的,但许多人并非如此。用户的最终结果(无论他使用的是浏览器还是屏幕阅读器)与普通文本没有区别。

online tools您可以使用它为您进行转换。

关于javascript - 在不使用 javascript 的情况下隐藏来自垃圾邮件机器人的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1350750/

相关文章:

usability - recaptcha.net 是否有任何替代品来阻止垃圾邮件?

javascript - MathJax 的公式呈现不正确

javascript - react 更改处理程序无法选择名称属性

javascript - 将 jQuery 的 .val() 方法扩展到非输入元素

javascript - CKEditor:从外部脚本访问 insertHtml() 方法

email - 可点击的电子邮件链接加密?该怎么做呢?

algorithm - 朴素贝叶斯垃圾邮件过滤器问题

javascript - JavaScript 的哪个 "kind"在 MongoDB 中的映射和/或化简函数中可用?

algorithm - 难以理解描述马尔可夫鉴别算法的公式

spam-prevention - 垃圾邮件发送者如何设法绕过验证码?