mirko-pagliai / cakephp-recaptcha-mailhide
Requires
- php: >=7.4
- cakephp/cakephp: ~4.3
- crabstudio/recaptcha: ~3.0.1
- mirko-pagliai/php-tools: ~1.7.1
Requires (Dev)
- cakephp/cakephp-codesniffer: ^4.0
- mirko-pagliai/me-tools: ~2.21
- phpstan/phpstan: ^1.7
- phpunit/phpunit: ^9.1|^9.5
- psalm/phar: ^4.24
README
reCAPTCHA Mailhide 是一个 CakePHP 插件,允许您使用 reCAPTCHA 隐藏电子邮件地址。它通过使用 crabstudio/Recaptcha 插件来实现,该插件必须首先正确加载和配置。
喜欢这个插件吗?它的开发需要我花费大量时间。请考虑向我进行捐赠:一杯咖啡就足够了!谢谢。
安装
您可以通过 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》将遵循语义化版本控制指南进行维护。