canducci / recaptcha
Canducci Recaptcha
v1.0.1
2016-01-07 12:11 UTC
Requires
- php: >=5.3.0
- laravel/framework: 5.1.*|5.0.*
Requires (Dev)
- phpspec/phpspec: ~2.1
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-08-29 04:14:08 UTC
README
CANDUCCI RECAPTCHA
快速开始
必要设置
在 composer.json
文件的 require
键中添加以下内容
"canducci/recaptcha": "1.0.*"
运行 Composer 更新命令
$ composer update
在您的 config/app.php
中添加 providers
数组
'providers' => array( ..., Canducci\ReCaptcha\Providers\ReCaptchaServiceProvider::class, ),
在 config/app.php
文件末尾添加一个 aliases
(外观) 到数组中
'aliases' => array( ..., 'ReCaptcha' => Canducci\ReCaptcha\Facades\ReCaptcha::class, ),
运行 Artisan 命令
php artisan vendor:publish --force --provider="Canducci\ReCaptcha\Providers\ReCaptchaServiceProvider"
在 config/recaptcha.php
中添加 Google ReCaptcha 的 site_key
和 secret_key
(https://www.google.com/recaptcha/intro/index.html).
### 使用
视图中的 Blade
在 <head></head>
标签中添加 @recaptchascript()
blade,例如
<!DOCTYPE html> <html> <head> <tile>ReCaptcha Test</tile> @recaptchascript() </head>
在 <form></form>
标签中添加 @recaptcha()
blade,例如
<form action="/v" method="post"> <input type="hidden" name="_token" value="{{ csrf_token() }}"> @recaptcha() <button type="submit">Send</button> </form>
视图中的变量
控制器
public function index1() { return view('index1') ->with('script', recaptcha_script()) ->with('captcha', recaptcha_render()); }
HTML
<!DOCTYPE html> <html> <head> <tile>ReCaptcha Test</tile> {!! $script !!}
并
<form action="/v" method="post"> <input type="hidden" name="_token" value="{{ csrf_token() }}"> {!! $captcha !!} <button type="submit">Send</button> </form>
验证 g-recaptcha-response
是否有效?
使用命名空间
use App\Http\Requests\ReCaptchaRequest;
use Canducci\ReCaptcha\ReCaptcha;
- 使用
ReCaptchaRequest
,例如
public function post(ReCaptchaRequest $request, ReCaptcha $re) { }
- 在方法中,例如
public function v(Request $request, ReCaptcha $re) { $valid = $re->valid($request->get('g-recaptcha-response')); if ( $valid->success() ) { //success } else { //not valid var_dump( $valid->errors() ); } }
### 标签的设置可以如下
- 函数
$script = recaptcha_script(Canducci\ReCaptcha\ReCaptchaScriptRender::Onload, Canducci\ReCaptcha\ReCaptchaScriptLanguage::Armenian, 'function_CallBack'); $render = recaptcha_render(Canducci\ReCaptcha\ReCaptchaRenderTheme::Ligth, Canducci\ReCaptcha\ReCaptchaRenderDataType::Image, Canducci\ReCaptcha\ReCaptchaRenderDataSize::Normal, 0, 'function_CallBack', 'function_dataExpiredCallBack');
- 外观
use `Canducci\ReCaptcha\Facades\ReCaptcha as ReCaptchaFacade`
$script = ReCaptchaFacade::script(Canducci\ReCaptcha\ReCaptchaScriptRender::Onload, Canducci\ReCaptcha\ReCaptchaScriptLanguage::Armenian, 'function_CallBack'); $render = ReCaptchaFacade::render(Canducci\ReCaptcha\ReCaptchaRenderTheme::Ligth, Canducci\ReCaptcha\ReCaptchaRenderDataType::Image, Canducci\ReCaptcha\ReCaptchaRenderDataSize::Normal, 0, 'function_CallBack', 'function_dataExpiredCallBack');
- Blade
@recaptchascript(Canducci\ReCaptcha\ReCaptchaScriptRender::Onload, Canducci\ReCaptcha\ReCaptchaScriptLanguage::Armenian, 'function_CallBack') @recaptcha(Canducci\ReCaptcha\ReCaptchaRenderTheme::Ligth, Canducci\ReCaptcha\ReCaptchaRenderDataType::Image, Canducci\ReCaptcha\ReCaptchaRenderDataSize::Normal, 0, 'function_CallBack', 'function_dataExpiredCallBack')
注意: 这些设置不是强制性的,但如果需要,可以按照 Google 网站的教程进行设置。