有没有办法使用 JQuery 隐藏或加密电子邮件地址 HTML 页面而不改变语法 href?

有帮助吗?

解决方案

使用 JQuery 可能不是您想要采取的路线,因为这将在客户端......您不在服务器端加密有什么原因吗?

其他提示

好吧,就像评论一样,您可能希望源代码具有隐藏的电子邮件地址,然后使用 jQuery 修复或构建链接以获得正确的地址...因为机器人会查看源代码,而不是运行 JavaScript 的结果;-)

语义纳粹会说“编码”,而不是“加密”。加密意味着解码需要秘密。转换为 HTML 实体语法 会是一个体面的 编码 防止人类窥探的过程,但机器人可以轻松解码它。

为了顺应 Mike Stone 的建议,我要做的就是在服务器端对其进行加密,并在服务器端进行解密并将其以 JSON 形式返回(mvc 框架中的 jsonresult、web服务、http 处理程序等)。这样,您就可以在需要时使用 jQuery 来对电子邮件地址进行反混淆,但它仍然会使任何不支持 java 脚本的机器人感到困惑。同样,这不是一个防弹解决方案,但它可能会满足您的需求。

我所做的是在渲染时对其进行混淆并隐藏它,然后使用 javascript 修复混淆并显示链接。

例如,您可以从服务器呈现此内容:

<a href="mailto:some_address^^some_domain$$com" style='display:none'>Email me</a>

然后使用Javascript你可以使用正则表达式来交换 ^^ 为了 @$$ 为了 .

无论你能想出什么方案,都可能没问题。当然,如果机器人能够理解 javascript,那就没关系了。

您将阻止 95% 的机器人,而其余用户将正常看到该地址。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top