gremo/email-obfuscator

一个用于使用JavaScript或CSS回退进行自动电子邮件混淆的文本过滤器

v1.0.0 2020-10-12 07:50 UTC

This package is auto-updated.

Last update: 2024-09-12 16:59:58 UTC


README

我不是此包的作者。原始包是 propaganistas/email-obfuscator,但作者决定放弃并删除GitHub存储库,破坏了所有使用它的网站。我只是克隆并上传了可用的最新版本。

使用经过验证的JavaScript和CSS回退进行自动电子邮件混淆的文本过滤器

  • 适用于启用JavaScript的浏览器的ROT13加密
  • 对于非JavaScript浏览器,CSS反转文本方向

安装

通过Composer安装包

composer require gremo/email-obfuscator

然后在模板中的某个位置包含提供的JavaScript文件(assets/email-obfuscator.min.js)。CND替代方案(无保证正常运行时间)

https://cdn.rawgit.com/gremo/email-obfuscator/master/assets/email-obfuscator.min.js

特定平台步骤

独立

在项目中某个位置要求 src/Obfuscator.php 文件

require_once 'PATH_TO_LIBRARY/src/Obfuscator.php';

通过使用 obfuscateEmail($string) 函数来解析和混淆一个字符串。

Laravel 5

根据您的使用情况,您有3个选项

  • 如果您想混淆Laravel输出的所有电子邮件地址,请将中间件类添加到 App\Http\Middleware\Kernel.php 中的 $middleware 数组中
protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    // ...
    \Gremo\EmailObfuscator\Laravel\Middleware::class,
];

这是推荐的方法。

  • 如果您只想让特定控制器方法返回混淆的电子邮件地址,请将中间件类添加到 App\Http\Middleware\Kernel.php 中的 $routeMiddleware 数组中
protected $routeMiddleware = [
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    // ...
    'obfuscate' => \Gremo\EmailObfuscator\Laravel\Middleware::class,
];

...并在控制器的构造方法或路由定义中像通常一样应用控制器中间件

public function __construct()
{
    $this->middleware('obfuscate');
}
  • 如果您只想在特定字符串上应用混淆,只需使用 obfuscateEmail($string) 函数。

Twig

将扩展添加到 Twig_Environment

$twig = new Twig_Environment(...);
$twig->addExtension(new \Gremo\EmailObfuscator\Twig\Extension());

该扩展公开了一个 obfuscateEmail Twig过滤器,可以应用于任何字符串。

{{ "Lorem Ipsum"|obfuscateEmail }}
{{ variable|obfuscateEmail }}

致谢