networkteam/neos-mailobfuscator

Neos CMS 的电子邮件和链接混淆插件

3.3.1 2024-08-13 09:31 UTC

README

为了使垃圾邮件发送者生活更困难,此包提供了电子邮件地址的混淆。电子邮件地址通过类似于rot13的算法和随机偏移进行混淆。

当点击链接时,JavaScript中的相同算法会将电子邮件地址解混淆

<a href="mailto:foo@example.com">foo@example.com</a>

将变为

<a href="javascript:linkTo_UnCryptMailto('obfuscatedEmail', -randomNumber)">foo (at) example.com</a>

替换分两步进行,因此可以将链接标签与电子邮件地址区分开来

<a href="mailto:foo@example.com">Contact us</a>

将变为

<a href="javascript:linkTo_UnCryptMailto('obfuscatedEmail', -randomNumber)">Contact us</a>

安装

在您的网站包或发行版中安装composer包

$ composer require networkteam/neos-mailobfuscator

无需配置,因为Fusion处理器已附加到Neos.Neos:Pagebody。这意味着,body标签的完整内容都将被混淆。

兼容性

请参阅以下表格以选择正确的插件版本

配置

可以通过取消设置处理器来为特定节点类型禁用混淆

prototype(Neos.Neos:Page) {
    @process.networkteamNeosMailObfuscator >
}

可以禁用JavaScript包含以进行自定义最小化

prototype(Neos.Neos:Page) {
    networkteamNeosMailObfuscator >
}

可以配置at符号(@)的替换字符串。它将作为HTML插入而不进行转义,因此可以用图像等替换

# Settings.yaml
Networkteam:
  Neos:
    MailObfuscator:
      atCharReplacementString: '<img src="https://example.com/at-icon.png" alt="at" />'

EEL助手

有Eel助手可用于在Fusion中使用MailObfuscator函数

// Convert @ Character
${Networkteam.Neos.MailObfuscator.convertAtChar('foo@example.com')}
// returns: foo (at) example.com

// Convert Mail to Href
${Networkteam.Neos.MailObfuscator.convertMailto2Href('foo@example.com')}
// returns javascript:linkTo_UnCryptMailto('obfuscatedEmail', -randomNumber)

致谢

原始电子邮件地址混淆代码由TYPO3 CMS提供。

networkteam GmbH - Neos Agentur赞助开发。

许可

根据GPLv2+许可,请参阅LICENSE