laravel框架中验证码的使用

以前都是用的tp框架,觉得tp框架挺好用的,很容易就上手了,也很容易就知道哪个文件是干嘛的,很容易就找到了。用了laravel框架后,经常会一脸懵,特别是看别人的代码更是一脸懵逼,因为根本就不知道那些方法是哪里来的,开始的时候会以为都是大神自己手写的,后来不懂的时候就上网查才知道,那些都是laravel自带的,因为laravel有个强大的功能库:composer。

1、首先找到文件中的composer.json文件,在里面添加代码:

"gregwar/captcha": "^1.1"

如下图所示:

2、添加完成后打开cmd,选择自己项目所在的文件夹,输入下面的代码:

composer update

例如我的项目在D盘:

C:\Users\Administrator>D:

D:\>cd www

D:\WWW>cd huiyin

D:\WWW\huiyin>composer update

3、等待更新完毕,如果出现如下代码,且项目中出现了对应的文件夹,则安装成功,否则失败。

Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
You made a reference to a non-existent script @php artisan package:discover

4、在项目中使用验证码:

use Gregwar\Captcha\CaptchaBuilder;
class UserController extends CommonController
{

	// 验证码
	public function code(){
		//生成验证码图片的Builder对象,配置相应属性
        $builder = new CaptchaBuilder;
        $builder->setIgnoreAllEffects(true);
        $builder->setBackgroundColor(255, 255, 255);
        //可以设置图片宽高及字体
        $builder->build($width = 150, $height = 50, $font = null);
        //获取验证码的内容
        $phrase = $builder->getPhrase();
        //把内容存入session
        Session::flash('verifylogin', $phrase);
        //生成图片
        header("Cache-Control: no-cache, must-revalidate");
        header('Content-Type: image/jpeg');
        $builder->output();
	}
}

5、验证验证码

//验证注册码的正确与否
    public function verifyCheck($verify = '')
    {
        if (empty($verify)) {
            return false;
        }
        if (Session::get('verifylogin') == $verify) {
            //用户输入验证码正确
            return true;
        } else {
            //用户输入验证码错误
            return false;
        }
    }
当然,不想使用laravel自带的验证码也可以自己再重新写,用的时候引入文件就可以了。
require_once base_path().'/resources/org/code/Code.class.php';  //文件地址

猜你喜欢

转载自blog.csdn.net/robin_sky/article/details/80773629