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

时间:2009-08-29 07:28:36

标签: javascript spam-prevention

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

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

  

您需要启用Javascript才能使用此联系表单。如果您不能或不知道Javascript是什么,请使用您的电子邮件并通过<the_email_address>与我们联系。

但当然,我想隐藏the_email_address垃圾邮件。

由于此电子邮件地址必须显示在<noscript>内,因此使用Javascript对其进行加密是没有意义的,特别是考虑到某些用户可能根本不知道Javascript是什么。

我想到了一个解决方案,但我没办法测试它:插入空<span></span>标签,如

  

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

或者,有点聪明

  

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

那会有用吗?如果没有,还有更好的想法吗?

更新

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

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

3 个答案:

答案 0 :(得分:4)

图像怎么样?

alt text http://www.codegeeks.net/wp-content/uploads/2009/08/s.png

或使用microsoft tag :)看起来很酷

alt text http://www.codegeeks.net/wp-content/uploads/2009/08/My_Contact_2009829838261.jpeg

修改:只需阅读上面有关您的观众的评论即可。看起来MS标签对他们来说太过分了:)

答案 1 :(得分:4)

使用HTML实体对其进行模糊处理。 x@y.com变为&#120;&#64;&#121;&#46;&#99;&#111;&#109;

你认为地址收集者对此是明智的,但许多人并非如此。用户的最终结果(无论是使用浏览器还是屏幕阅读器)与普通文本无法区分。

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

答案 2 :(得分:0)

将其制作成图像。或者使用Flash(或Silverlight,ActiveX,无论如何)。