mirko-pagliai/cakephp-recaptcha-mailhide

此包已被弃用,不再维护。作者建议使用mirko-pagliai/cakephp-recaptcha-mailhide包代替。

CakePHP 插件,允许您使用 reCAPTCHA 隐藏电子邮件地址

1.4.12 2023-04-05 17:09 UTC

README

Software License CI codecov Codacy Badge CodeFactor

reCAPTCHA Mailhide 是一个 CakePHP 插件,允许您使用 reCAPTCHA 隐藏电子邮件地址。它通过使用 crabstudio/Recaptcha 插件来实现,该插件必须首先正确加载和配置。

喜欢这个插件吗?它的开发需要我花费大量时间。请考虑向我进行捐赠:一杯咖啡就足够了!谢谢。

Make a donation

安装

您可以通过 composer 安装插件

$ composer require --prefer-dist mirko-pagliai/cakephp-recaptcha-mailhide

然后您需要加载插件。有关如何加载插件的更多信息,请参阅Cookbook

简单地,您可以通过执行 shell 命令来启用插件

bin/cake plugin load RecaptchaMailhide

这将更新您的应用程序的 bootstrap 方法。

然后您还需要设置一个密钥来加密/解密电子邮件地址

Configure::write('RecaptchaMailhide.encryptKey', 'thisIsAKeyForEncrypt12345678901234567890');

在较旧版本的 CakePHP 和 PHP 上安装

最近的包和 master 分支需要至少 CakePHP 4.0 和 PHP 7.2。相反,cakephp3 分支需要至少 PHP 5.6。

在这种情况下,您也可以安装此包

$ composer require --prefer-dist mirko-pagliai/cakephp-recaptcha-mailhide:dev-cakephp3

请注意,自 2021 年 5 月 7 日起,cakephp3 分支将不再更新(除非是安全补丁),并且它与 1.4.7 版本相匹配。

配置

首先,您必须加载由 crabstudio/Recaptcha 插件提供的 Recaptcha 组件,如此处所述。组件必须在您的 AppController 类的 initialize() 方法中加载。

有关如何加载组件的更多信息,请参阅Cookbook

然后,您需要加载 Mailhide 辅助函数

$this->loadHelper('RecaptchaMailhide.Mailhide');

有关如何加载辅助函数的更多信息,请参阅Cookbook

用法

现在您可以在模板文件中使用由 Mailhide 辅助函数提供的 link() 方法。示例

echo $this->Mailhide->link('My mail', 'myname@mymail.com');

这将创建一个链接。点击链接后,将打开一个弹出窗口,其中包含 reCAPTCHA 控件。如果检查正确填写,则将显示清晰的电子邮件地址。

您还可以将电子邮件地址用作链接的标题。示例

echo $this->Mailhide->link('myname@mymail.com', 'myname@mymail.com');

在这种情况下,电子邮件将进行混淆处理(myn***@mymail.com),并在链接标题中显示。

方法的三参数可以用于链接选项。例如

echo $this->Mailhide->link('My mail', 'myname@mymail.com', ['class' => 'my-custom-class']);

版本控制

为了提高透明度和对发布周期的了解,并保持向后兼容性,《reCAPTCHA Mailhide》将遵循语义化版本控制指南进行维护。