0

建立一个 Plone 4.3 网站,我很难理解内置的电子邮件保护机制是如何工作的。

使用产品 FacultyStaffDirectory,地址以纯 html 格式显示到源中,没有任何(至少对我可见)保护。

在 Plone 和 FacultyStaffDirectory 源代码中摆弄我发现后者利用了第一个提供的 spamProtect.py 脚本。代码正确执行,因为在函数返回字符串中添加一个字母会相应地更改 html 代码。但是,假定的更改(即,将@:符号转换为其相应的十六进制 (?) 代码)不会发生,因为地址在 html 代码中显示不变。

我还尝试使用 wget 下载该页面,以确保浏览器没有自动翻译代码,但没有任何变化。

我错过了什么吗?我应该使用另一种保护吗?

4

2 回答 2

0

zest.emailhider 可能是一个选项。

使用这个包,您可以默认隐藏您的电子邮件地址,这样它们就不会出现在 html 中;然后使用 javascript 获取并显示地址。

对于您站点中的每个内容项,您可以只有一个电子邮件地址,因为我们通过其 UID 查找对象的电子邮件地址。您可能需要为 FacultyStaffDirectory 添加一些集成代码。PyPI页面告诉你如何做到这一点。

于 2013-06-12T13:17:27.653 回答
0

包起来:

  • Diazo 主题使默认的 spamprotect.py 保护无用,因为它们将十六进制代码转换为纯文本,从而产生“纯”邮件链接;
  • 解决这个问题没有简单的方法;

在我的案例中解决了从 FacultyStaffDirectory 中删除电子邮件验证约束并在电子邮件字段中输入一个指向保护电子邮件地址的mailhide recaptcha的链接。

利用 mailhide API 也可以更好地解决,但这对于我自己的需求来说有点过头了。

于 2013-06-11T15:03:11.613 回答