datamweb / codeigniter-multi-captcha
CodeIgniter 4.x 的多验证码包。支持 Arcaptcha(伊朗免费且专业的产品)、Bibot(伊朗免费产品)、Recaptcha(谷歌产品)和 hCaptcha。附带速率限制支持。
Requires
- php: ^7.3 || ^8.0
This package is auto-updated.
Last update: 2024-08-30 01:07:18 UTC
README
波斯语 | 英语
CI 多验证码 (CIMC)
此包可用于 Codigniter 框架 4 版本及以上。此包支持 4 个验证码服务,包括 Arcaptcha 服务(伊朗专业验证码服务,包括图像猜测、拼图等)、Bibot(伊朗拼图验证码服务)、Recaptcha(谷歌制作)和 hCaptcha。此包的用户可以指定要使用哪个验证码或指定随机选择验证码。支持速率限制。
安装视频教程
以下是如何设置、安装以及正确使用此包的教程。有关正确使用此包的信息,请观看上传的视频。 YouTube 上的教程视频
如何在 Codigniter 框架上安装
第一种方法:通过 Composer
最好通过 Composer 进行安装。假设 Composer 已全局安装,您可以使用以下命令
composer require datamweb/codeigniter-multi-captcha:dev-main
第二种方法:手动
首先,下载 包的最新版本。然后将下载的 zip 文件解压缩到 app/ThirdParty
路径。现在转到 app/Config
。将以下内容添加到 Autoload.php
文件并保存文件。
public $psr4 = [
//Add this line
'Datamweb\CIMC' => APPPATH . 'ThirdParty\CIMultiCaptcha',
];
在下一步中,转到 app/Config
路径,并在 Validation.php
文件中添加以下值。
public $ruleSets = [
// Add this line
'\Datamweb\CIMC\Validation\RulesCIMC',
];
public $templates = [
// Add this line
'CIMC_ERRORS_LIST' => 'Datamweb\CIMC\Validation\Views\_list.php',
// Add this line
'CIMC_ERRORS_SINGLE' => 'Datamweb\CIMC\Validation\Views\_single.php',
];
在下一步中,转到 app/Config
路径,并在 Filters.php
文件中添加以下值。注意:从版本 V1.0.2pre-alpha 开始支持此功能。使用此功能,您可以使用 RateLimit。活动速率限制参数可以通过文件 app/ThirdParty/CIMultiCaptcha/Config/MultiCaptchaCIConfig.php
进行编辑。速率限制通常用于防止恶意机器人对网站或应用程序产生负面影响。速率限制可以帮助缓解的机器人攻击包括:暴力破解攻击、DoS 和 DDoS 攻击、网络爬虫。 关于速率限制的更多信息。
public $aliases = [
//add for mix rate limit and captcha
'rate_limit_by_captcha' => \Datamweb\CIMC\Filters\RateLimitByCaptcha::class,
];
public $filters = [
//add for mix rate limit and captcha in all url
'rate_limit_by_captcha' => ['before' => ['/*']]
];
演示速率限制:number_of_action : 5 ,captcha_name: hcaptcha
在文件 MultiCaptchaCIConfig.php
中的默认活动速率参数如下,您可以选择将其设置为 false 或随时更改。
public $rateLimit=[ 'rate_limit_on' => true, //(true | false) 'number_of_action' => 25, //number of tokens the bucket holds 'refill_period' => HOUR, //amount of time it takes the bucket to refill (SECOND |MINUTE|HOUR|DAY|WEEK|MONTH|YEAR|DECADE) 'captcha_name' => 'recaptcha', //The name of the captcha used on the Rate Limit page. (arcaptcha|recaptcha|hcaptcha|bibot) 'rate_limit_view' => 'Datamweb\CIMC\Views\rate_limit', //The view of used on the Rate Limit page. ];
包配置文件
在使用此包之前,您需要从每个 Captcha 服务器接收两个专用密钥。为了接收密钥,您必须在每个 Captcha 服务器上注册并接收密钥。要接收 Arcaptcha 服务密钥,请访问Arcaptcha 注册地址,要接收 Bibot 密钥,请访问Bibot 注册地址,要接收 recaptcha 密钥,请访问Recaptcha 注册地址,要接收 hcaptcha 密钥,请访问hCaptcha 注册地址。获取密钥后进行操作。然后前往 app/ThirdParty/CIMultiCaptcha/Config
并替换 MultiCaptchaCIConfig.php
文件中的相关 site_key
和 secret_key
密钥。如果您需要更改颜色、主题、大小等,请通过此文件进行。在 captcha 语言方面,该包默认为 CI 框架中设置的任何语言,并使用相同语言显示 captcha。如果您需要自定义 captcha 语言,请通过此文件设置 lang
值。重要的一点是,两个伊朗服务器(Arcaptcha 和 Bibot)仅支持两种语言:波斯语(fa)和英语(en),此限制与 captcha 服务器有关,而不是与包有关。
如何使用(CIMC)
总的来说,使用此包的方式有两种。第一种方法是程序员选择服务,例如,程序员打算仅使用 recaptcha 服务,因此他必须按照以下图表中的蓝色路径进行操作。接下来是程序员不指定服务的角色。系统随机选择一个服务,为此您必须遵循黑色路径。
改进
此包作为开源提供。如果您需要讨论,提出想法等,请通过 讨论。另外,如果有错误,请通过 问题 进行注册。如果您是程序员,请尽量通过 拉取请求 参与编码。我们需要大家共同努力来改进。