题
有没有办法使用 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% 的机器人,而其余用户将正常看到该地址。
不隶属于 StackOverflow