gremo / email-obfuscator
一个用于使用JavaScript或CSS回退进行自动电子邮件混淆的文本过滤器
v1.0.0
2020-10-12 07:50 UTC
Requires
- php: >=5.4.0
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 }}
致谢
- Scott Yang 为此方法中使用的JavaScript。
- Silvan Mühlemann 为CSS实现的灵感。