crazyinventor/laravel5-recaptcha2 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

crazyinventor/laravel5-recaptcha2

最新稳定版本:1.3

Composer 安装命令:

composer require crazyinventor/laravel5-recaptcha2

包简介

A package to use Google Recaptcha V2 with Laravel 5

README 文档

README

Recaptcha v2 for Laravel 5. Inspired by anhskohbo/no-captcha and greggilbert/recaptcha.

Installation

Run 'composer require crazyinventor/laravel5-recaptcha2' or modify your composer.json:

{
    "require": {
        "crazyinventor/laravel5-recaptcha2": "1.0.1"
    }
}

Configuration

Get your keys for recaptcha from the admin page.

Then register the Service Provider.

Laravel 5.0

In /config/app.php, add the following to providers:

'CrazyInventor\Lacaptcha\LacaptchaServiceProvider',

and the following to aliases:

'Recaptcha' => 'CrazyInventor\Lacaptcha\Facades\Lacaptcha',

Laravel 5.1 and newer

In /config/app.php, add the following to providers:

CrazyInventor\Lacaptcha\LacaptchaServiceProvider::class,

and the following to aliases:

'Recaptcha' => CrazyInventor\Lacaptcha\Facades\Lacaptcha::class,

Publish config file

Publish the recaptcha configuration file by running the following command from a shell inside your Laravel's installation directory:

php artisan vendor:publish

This will create the file config/recaptcha.php in your Laravel's installation directory. You can modify this file by entering your sitekey and secret directly to it or adding the keys to your .env file.

.env file

Add RECAPTCHA_SECRET and RECAPTCHA_SITEKEY to your .env file:

RECAPTCHA_SECRET=[secret-key]
RECAPTCHA_SITEKEY=[site-key]

Replace [secret-key] and [site-key] with your keys.

Usage

  1. In your form, use {!! Recaptcha::render() !!} to echo out the markup.
  2. To validate your form, add the following rule:
$rules = [
    // ...
    'g-recaptcha-response' => 'required|recaptcha',
];

Testing

When testing your application you might want to skip the recaptcha part. To do so add these lines at the start of your test:

// prevent validation error on captcha
Recaptcha::shouldReceive('verify')
    ->once()
    ->andReturn(true);
// provide hidden input for your 'required' validation
Recaptcha::shouldReceive('render')
    ->zeroOrMoreTimes()
    ->andReturn('<input type="hidden" name="g-recaptcha-response" value="1" />');

Testing with Laravel 5.4 and Dusk

Unfortunately, mocking does not work for Laravel Dusk. But you can overwrite the validator function very easily by adding the following code to your test.

$app = $this->app;
    $app['validator']->extend('recaptcha', function ($attribute, $value) use ($app) {
    return true;
});

统计信息

  • 总下载量: 803
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 2
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-09-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固