如何在我的网站上呈现电子邮件地址,而不会被垃圾邮件发送者攻击?
采用“foo at fooland dot com”这种方式并不是我寻找的解决方案。我需要以一种普通人可以理解的方式呈现它。
编辑
显示电子邮件是动态的。
如何在我的网站上呈现电子邮件地址,而不会被垃圾邮件发送者攻击?
采用“foo at fooland dot com”这种方式并不是我寻找的解决方案。我需要以一种普通人可以理解的方式呈现它。
编辑
显示电子邮件是动态的。
我曾使用过:
如何使用一个简单的图片来展示您的电子邮件地址?
生成该图片的技巧是在您的WebForms项目中添加一个ASP.NET MVC控制器,其中包含一个操作方法,该方法返回一个包含动态生成的图片及电子邮件地址的FileResult
。
public class DynamicImageController : System.Web.Mvc.Controller
{
public FileResult Email(int id)
{
// TODO: Code that uses the ID value to retrieve the
// email address for this customer (for example)
}
}
ImageUrl
(例如:“/ DynamicImage / Email /”+ customerId
)。
此页面有一个示例,说明如何使用 FileResult
呈现图像(在这种情况下是一个图表)。
http://www.codeproject.com/KB/aspnet/MvcChartControlFileResult.aspx
我开始使用的一种方法是CSS代码重定向:
<span style="unicode-bidi:bidi-override; direction: rtl;">moc.niamodruoy@uoy</span>
function encodeEmail ($email) {
$ret = '';
$a = '<a href="mailto:' . $email . '">' . $email . '</a>';
$i = 0;
$c = substr($a, $i, 1);
while ($c != FALSE) {
$ret .= '%'.dechex(ord($c));
$c = substr ($a, ++$i, 1);
}
return "<script type='text/javascript'>document.write(unescape('$ret'));</script>";
}
这段代码可能需要一些修正,因为我在编写时没有检查错误。
<a href="mailto:email@example.org">email@example.org</a>
在我看来,这些解决方案都不值得给用户带来额外的麻烦。
垃圾邮件过滤器现在非常好用(我在gmail中几乎没有收到任何垃圾邮件,而且我总是直接使用我的电子邮件地址),如果你想要触达更广泛的受众,你的优先考虑应该是他们的舒适度,而不是你的。
也许这是一个主观的问题 :)
如果您不介意用户无法复制,请使用图像方法。
您可以使用JavaScript从您喜欢的某些随机算法构建地址。您还可以将其放在alert()
中,这仍然可以复制,但您的电子邮件地址永远不会触及DOM。
有人提到使用图像,这里有一篇MakeUseOf的文章,链接到一个可以为您构建此类图像的网站...
http://www.makeuseof.com/dir/hidetext-easily-convert-text-email-addresses-images/