一,介绍
验证码 是防止恶意破解密码、刷票、论坛灌水、刷页的手段。验证码有 多种类型。 本项目中我们将使用图片验证码,其原理是让用户输入一个扭曲变形的图片上所显示的文字或数字,扭曲变形是为了避免被光学字符识别软件(OCR)自动辨识。由于计算机无法识别验证码的图片,所以回答出问题的用户就可以被认为是人类。
二,安装前准备
请勿务必安装PHP的gd拓展!!!
如果没安装可以采用下列代码
apt-get install php-gd
网上好多教程上面都写着php5-gd或者php7-gd,经过浅农实现,在Ubuntu18.0版本上不可取。
三,安装 mews/captcha
简单说一下, mews/captcha是比较适合Laravel项目的第三方验证码包,样式也很好看。
预览图:
使用composer安装:
$ composer require "mews/captcha"
注册:
在config/app.php下的providers数组里面追加一下代码
Mews\Captcha\CaptchaServiceProvider::class,
**aliases **数组里面追加
'Captcha' => Mews\Captcha\Facades\Captcha::class,
在composer命令行下执行
php artisan vendor:publish
生成配置文件captcha.php
四,配置验证码
config/captcha.php
<?php
return [
'characters' => '2346789abcdefghjmnpqrtuxyzABCDEFGHJMNPQRTUXYZ',
'default' => [
'length' => 5,
'width' => 120,
'height' => 36,
'quality' => 90,
],
'flat' => [
'length' => 6,
'width' => 160,
'height' => 46,
'quality' => 90,
'lines' => 6,
'bgImage' => false,
'bgColor' => '#ecf2f4',
'fontColors'=> ['#2c3e50', '#c0392b', '#16a085', '#c0392b', '#8e44ad', '#303f9f', '#f57c00', '#795548'],
'contrast' => -5,
],
'mini' => [
'length' => 3,
'width' => 60,
'height' => 32,
],
'inverse' => [
'length' => 5,
'width' => 120,
'height' => 36,
'quality' => 90,
'sensitive' => true,
'angle' => 12,
'sharpen' => 10,
'blur' => 2,
'invert' => true,
'contrast' => -5,
]
];
基本上是不怎么需要配置的,大家看看就好
五,前端引用
<img src="{{captcha_src()}}" style="cursor: pointer"
onclick="this.src='{{captcha_src()}}'+Math.random()">
未完待续
本文参考地址:https://learnku.com/articles/23704
系统版本号:Ubuntu18.0