3

我知道这有点宽泛,但问题是如何隐藏垃圾邮件机器人的电子邮件?

每种方法的优缺点是什么?

4

1 回答 1

13

晦涩的 JavaScript

方法

我经常看到这个。

My email is <strong id="secret1"></strong>
var parts = ["secret", "my", 64, "il.com", "gma"];
document.getElementById("secret1").textContent = parts[1] + parts[0] + String.fromCharCode(parts[2]) + parts[4] + parts[3];

小提琴

优点

它比纯文本更好,并且@字符不会出现在页面的任何位置。

缺点

现在有无头浏览器可以运行 JavaScript 并查看动态页面,而不是 html 源代码。


::之前和之后

方法

在 CSS 中使用伪选择器,我们可以让内容出现在元素之后。它从未添加到 DOM 中,因此它纯粹是可视化的。

My email is <strong id="secret2">mysecret</strong>
#secret2::after {
    content: '@gmail.com';
}

小提琴

优点

如果您记得使用::after代替:after,您可以阻止 IE<9 的用户向您发送电子邮件。

缺点

用户不能选择伪元素的内容。在上面的示例中,他们在向您发送电子邮件时必须输入“@gmail.com”。


联系表

方法

提供联系表格,并使用服务器端脚本向您发送电子邮件。

<h1>Contact Us</h1>

<form action="contact.php" method="POST">
    <label for="subject">Subject</label>
    <input type="text" name="subject">
    <label for="email">Email</label>
    <input type="email" name="email">
    <label for="body">Message</label>
    <textarea name="body" cols="30" rows="10"></textarea>
    <input type="submit">
</form>

小提琴

优点

  • 除非您决定回复,否则您从不显示您的电子邮件地址
  • 您可以对表单进行速率限制,并提供验证码
  • 您可以记录 IP 地址,并阻止任何向您发送垃圾邮件的内容
  • 您可以为用户提供有用的选项(例如多项选择“这是关于什么的”)
  • 可以使用验证码
  • 您可以将消息绑定到用户帐户,并在网站上提供更新以及以前对话的存档
  • 可以记录浏览器信息(例如用户代理)以获得更快的技术支持

缺点

  • 感觉没有人情味
  • 需要服务器端语言
  • 需要更多时间来实施
于 2013-08-25T13:42:17.970 回答