joinbox / email-obfuscator
在任何地方隐藏电子邮件
2.3.2-rc.1
2024-09-03 11:02 UTC
This package is not auto-updated.
Last update: 2024-09-17 11:50:24 UTC
README
Drupal 电子邮件混淆模块使用一个中间件从每个请求中获取渲染的内容。内容会使用正则表达式搜索电子邮件。电子邮件的混淆取决于文本的位置。
混淆方式
邮件to链接中的电子邮件
示例: <a href="mailto:test@email.com">
- 排除
mailto:
的电子邮件字符串被反转 - 添加了 onfocus 和 onmousedown 事件,这些事件在
mailto:
后重新反转电子邮件。这两个事件涵盖了以下情况:右键点击、左键点击和标签键聚焦。(onfocus 在大多数浏览器中都会这样做,但 Safari 需要 onmousedown。)
重新反转只进行一次,以避免反转回反转的电子邮件
所有其他电子邮件
示例: <a>test@email.com</a>
- 在电子邮件中间添加一个
display:none
的 span,其中包含包含无效电子邮件字符分隔符的文本
排除项
- 任何无效的电子邮件(根据 PHP 的
filter_var
函数) - 后台办公室中的所有内容(管理页面)
- HTML 属性中的电子邮件(输入字段的占位符)
- 白名单路由中的内容(见下文)
白名单路由
- 在 settings.php 中定义白名单(排除)路由
$settings['email_obfuscator'] = [ 'route_whitelist' => [ 'rest.api_layout_footer.GET', 'editor.link_dialog' ] ];
- 重要:如果您正在使用 CKEditor 4,则应将路由
editor.link_dialog
加入白名单,以避免在 CKEditor 链接对话框中混淆电子邮件。