如何使用JQuery加密电子邮件地址

8
有没有一种方法可以使用JQuery在HTML页面上加密或隐藏电子邮件地址,而不改变href中的语法?
5个回答

10

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


6
使用JQuery可能不是您想要采取的方法,因为这将在客户端上执行...您没有在服务器端加密的原因吗?

1
正确 - 使用JQuery加密电子邮件地址将是无用的,因为任何Bot抓取您的HTML的时候都不会运行JQuery。 - samjudson

0
我所做的是在呈现时混淆并隐藏它,然后使用JavaScript修复混淆并显示链接。
例如,您可以从服务器呈现此内容:
<a href="mailto:some_address^^some_domain$$com" style='display:none'>Email me</a>

然后使用JavaScript,您可以使用正则表达式将^^替换为@,将$$替换为.

无论您想出什么方案都可能很好。当然,如果机器人理解JavaScript,那就没关系了。

您将阻止95%的机器人,并且其余用户将完全看到地址。


0

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


0
有点借鉴Mike Stone的建议,我会在服务器端进行加密,并且在服务器端添加解密功能,以JSON格式返回(MVC框架中的"jsonresult",Web服务,HTTP处理程序等)。这样,你可以使用jQuery来对电子邮件地址进行反混淆,但仍然可以混淆任何不支持JavaScript的机器人。再次强调,这不是一个万无一失的解决方案,但可能符合你的需求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接