不使用 javascript 隐藏垃圾邮件机器人的电子邮件

发布于 2024-08-03 02:47:44 字数 1081 浏览 3 评论 0原文

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

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

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

当然,我想对垃圾邮件机器人隐藏the_email_address

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

我想到了一个解决方案,但我无法测试它:插入空的 标签,如

my_email@gmail.com

或者,更聪明一点

my_em垃圾[电子邮件受保护]

这可行吗?如果没有,还有更好的想法吗?

更新

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

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

I have a "contact us" form that uses Ajax (i.e. relies on asynchronous requests).

In case the user has javascript disabled, I want to display a message, saying something like:

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>.

But of course, I want to hide the_email_address from spambots.

Since this email address has to be displayed inside a <noscript>, it makes no sense to scramble it with Javascript, specially given the fact that some users may simply not even know what Javascript is.

I thought of a solution but I have no way to test it: Inserting empty <span></span> tags, as in

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

Or, a bit cleverer

my_em<span style="display:none">garbage</span>[email protected]

Would that work? If not, any better ideas?

Update

Thanks RichieHindle for the ansewr. I thought I'd share a simple implementation of the idea in python:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

顾北清歌寒 2024-08-10 02:47:44

使用 HTML 实体来混淆它。 [电子邮件受保护] 变为 & ;#120;@y.com

您可能认为地址收集器对此很明智,但很多人并不这样做。用户的最终结果(无论他使用浏览器还是屏幕阅读器)与普通文本没有区别。

您可以使用在线工具来进行转换。

Use HTML entities to obfuscate it. [email protected] becomes x@y.com.

You'd think address harvesters would be wise to that, but many aren't. The end result for the user (whether he's using a browser or a screenreader) is indistinguishable from the normal text.

There are online tools you can use to do the conversion for you.

不醒的梦 2024-08-10 02:47:44

那么图像呢?

替代文本 http://www.codegeeks.net/wp- content/uploads/2009/08/s.png

或使用 microsoft tag :) 来查看酷

替代文本 http://www.codegeeks.net/wp -content/uploads/2009/08/My_Contact_2009829838261.jpeg

编辑:只需阅读上面有关您的受众的评论。看来 MS 标签对他们来说太过分了:)

What about an image?

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

or use microsoft tag :) to look cool

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

Edit: Just read your comment above regarding your audience. Looks like MS tag will be too much for them :)

2024-08-10 02:47:44

使其成为图像。或者使用 Flash(或 Silverlight、ActiveX,等等)。

Make it an image. Or use Flash (or Silverlight, ActiveX, whatever).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文