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

Posted

技术标签:

【中文标题】如何使用 JQuery 加密电子邮件地址【英文标题】:How to encrypt email addresses using JQuery 【发布时间】:2010-09-07 23:17:56 【问题描述】:

有没有办法使用JQuery 来隐藏或加密html 页面上的电子邮件地址而不更改href 中的语法?

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

【讨论】:

正确 - 使用 JQuery 加密电子邮件地址将毫无用处,因为任何废弃 HTML 的 Bot 都不会运行 JQuery。【参考方案3】:

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

【讨论】:

【参考方案4】:

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

【讨论】:

【参考方案5】:

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

例如,你可以从服务器渲染这个:

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

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

无论您想出什么方案都可能没问题。当然,如果 bot 理解 javascript,那也没关系。

您将阻止 95% 的爬虫程序,而您的其余用户将可以正常看到该地址。

【讨论】:

以上是关于如何使用 JQuery 加密电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章

vb.net 中的电子邮件地址加密

如何在 PowerShell 中使用 S/MIME 对消息进行签名和加密

如何在启用TDE的情况下查询Cassandra中的敏感数据?

使用 jquery 验证电子邮件地址 [重复]

如何使用 php 验证电子邮件地址? [复制]

如何验证电子邮件地址与网站域匹配?