使用滑动验证码

 余温
2018年04月25日 20时05分
 php

安装

在项目地址输入命令


1

$ composer require germey/geetest


就可以完成该包的安装

或者可以在 composer.json 的 require 中添加


1

"germey/geetest": "~2.0"


然后执行


1

$ composer update


同样可以完成该包的安装

配置

注册 ServiceProvider,在 config/app.php 的 providers 中添加


PHP

1

Germey\Geetest\GeetestServiceProvider::class


在 aliases 中添加


PHP

1

'Geetest' => Germey\Geetest\Geetest::class


然后执行


1

$ php artisan vendor:publish


会生成一个配置文件,config/geetest.php 和视图文件views/vendor/geetest,视图文件中你可以自定义配置,比如修改一下验证失败后的alert函数,修改为你想要的提示toast等。

使用

首先把刚才拿到的 ID 和 KEY 配置到 .env 文件中,因为这两个算私密内容,配置到 .env 文件中可以保证安全性。在 .env 中写入如下两行。


1

2

GEETEST_ID=0f1097bef7xxxxxx9afdeced970c63e4

GEETEST_KEY=c070f0628xxxxxxe68e138b55c56fb3b

其中 ID 和 KEY 换成你自己的。

然后,在任意的视图里,我们只需要调用



1

{!! Geetest::render() !!}


就可以得到验证码了。


比如我们最常用的表单里



1

2

3

4

5

6

<form action="/" method="post">

    <input name="_token" type="hidden" value="{{ csrf_token() }}">

    <input type="text" name="name" placeholder="name">

    {!! Geetest::render() !!}

    <input type="submit" value="submit">

</form>

另外还可以指定验证码的另外两种样式

{!! Geetest::render('embed') !!}

{!! Geetest::render('popup') !!}

服务端验证

public function postValidate(Request $request)

  {

    $result = $this->validate($request, [

      'geetest_challenge' => 'geetest',

    ], [

      'geetest' => config('geetest.server_fail_alert')

    ]);

    if ($request) {

      return 'success';

    }

  }


{{vo.nickname}}:{{vo.content}}

{{vo.time}} 回复


  • {{level.nickname}} 回复 {{level.father_nickname}}{{level.content}}
  • {{level.time}} 回复


@
登陆后评论