在我的主页上,我正在使用此方法隐藏垃圾邮件机器人的电子邮件:
<a href="admin [at] example.com"
rel="nofollow"
onclick="this.href='mailto:' + 'admin' + '@' + 'example.com'">Contact me</a>
Run Code Online (Sandbox Code Playgroud)
你怎么看待这件事?有效吗?您还知道或使用其他哪些方法?
阻止垃圾邮件发送者从您的mailto链接获取电子邮件地址的最佳方法是什么?我的印象是javascript可能是一个解决方案.我不知道我目前的解决方案是否是万无一失的,所以这就是我要问的原因.
这是我目前正在做的事情:
<script language="JavaScript"><!--
var name = "emailusername";
var domain = "yahoo.com";
var text = "emailusername@yahoo.com";
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(text + '</a>');
// --></script>
Run Code Online (Sandbox Code Playgroud)
有更好的方法吗?我不喜欢在我想放置mailto链接的地方有这一块代码.
我有一个使用 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 的回答。我想我应该在 python 中分享这个想法的简单实现:
def html_nospam(string):
def ent(char):
return "&#%d;" % ord(char)
return ''.join([ent(c) for c in string])
Run Code Online (Sandbox Code Playgroud)