omasn / decaptcha-bundle
Symfony Decaptcha bundle,用于所有流行服务的Captcha识别,包括rucaptcha.com、2captcha.com、pixodrom.com、captcha24.com、socialink.ru、anti-captcha.com
1.1.2
2017-09-23 13:25 UTC
Requires
- php: ^5.5.9 || ^7.0
- jumper423/decaptcha: 2.*
- symfony/form: ^2.7 || ^3.0
- symfony/framework-bundle: ^2.7 || ^3.0
- symfony/security-bundle: ^2.7 || ^3.0
Requires (Dev)
- phpunit/phpunit: ^4.8.30
This package is auto-updated.
Last update: 2024-09-16 02:04:43 UTC
README
Symfony Decaptcha bundle。
该包是为了标准化所有猜测Captcha的服务而创建的。每个服务都有其自身的特性,现在您不需要操作多个包。只需熟悉可用的文档,就可以对每个服务进行自定义。该包涵盖了所有服务的功能。如果您觉得功能不足,欢迎提出所有建议。该Bundle是基于https://github.com/jumper423/decaptcha实现的。
选择语言
菜单
服务
所有流行服务的Captcha识别
安装
获取Bundle
运行以下命令,让Composer下载并安装Bundle:
或者您也可以运行:
composer require omasn/decaptcha-bundle "*"
或者将以下内容添加到composer.json文件中:
"omasn/decaptcha-bundle": "1.1.*"
启用Bundle
// in app/AppKernel.php public function registerBundles() { $bundles = [ ... new Omasn\DecaptchaBundle\DecaptchaBundle(), ]; ... }
配置Bundle
为要使用的Captcha识别服务配置api_key。
# app/config/config.yml omasn_decaptcha: ru_captcha: api_key: '%api_key%' anticaptcha: api_key: '%api_key%' captcha_24: api_key: '%api_key%' pixodrom: api_key: '%api_key%' ripcaptcha: api_key: '%api_key%' socialink: api_key: '%api_key%' two_captcha: api_key: '%api_key%'
用法
以下是一个基于RuCaptcha服务的小例子,用于获取您在系统中的当前余额,并通过提供的URL识别Captcha。有关用法更多信息,请参阅文档
控制器动作示例
// src/AppBundle/Controller/DefaultController.php ... public function indexAction() { $oReCapcha = $this->get('decaptcha.ru_captcha'); $iBalance = $oReCapcha->getBalance(); ... if ($oReCapcha->recognize('http://site.ru/captcha.jpg')) { $code = $oReCapcha->getCode(); if (!$myApp->validCode($code)) { $oReCapcha->notTrue(); // not valid code request in api } } else { $error = $oReCapcha->getError(); } } ...
使用额外配置
向RuCaptcha配置添加额外参数 "字段描述"
// src/AppBundle/Controller/DefaultController.php use Omasn\DecaptchaBundle\Services\RuCaptcha; ... public function indexAction() { $oReCapcha = $this->get('decaptcha.ru_captcha'); $oReCapcha->setParams([ RuCaptcha::ACTION_FIELD_FILE => '/file/to/path', ]); } ...