laravel - 验证码

Posted gggggggxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel - 验证码相关的知识,希望对你有一定的参考价值。

完成白底黑字验证码,随机英文字母

//后台
 /**
     * 生成图片验证码
     *
     */
    public function setPicture()
    {
        // session有效
        session_start();
        $code = \'\';
        //画布大小
        $image = imagecreate(200, 60);
        //创建前景色是黑色
        $color = imagecolorallocate($image, 0, 0, 0);
        //设置背景颜色
        $bg = imagecolorallocate($image, 255, 255, 255);
        //填充背景颜色
        imagefill($image, 0, 0, $bg);
        //清除缓冲区内容,这样即便有BOM头,也不会影响图片
        ob_clean();
        //输出一个图片类型为image/png的HTTP 报头
        header("Content-Type: image/png");
        //在图片上显示4个数字,在x轴上等距间隔,在y轴上保持高度一致。
        $length = 5;
        $random = \'ABCDEFGHIJKLMNOPQRSTUVWXYZ\';
        $arr = str_split($random);

        for ($i = 0; $i < $length; $i++) {
            //从数组中随意取值
            $num = array_rand($arr, 1);
            $str = $random[$num];
            $code .= $str;
        }
        //calibrib.ttf 为字体文件,可在电脑库里找到合适的字体文件
        $fontfile = \'website/public\' . \'/calibrib.ttf\';
        imagettftext($image, 38, 0, 0, 45, $color, $fontfile, $code);
        $_SESSION[\'code\'] = $code;//存储在session里
        //最后在网页在打印出带数字的图片
        imagepng($image);
    }
//html
          <div class="code-image">
               <image src="{{route(\'setpicture\')}}" class="codeimage"></image>
          </div>
          <div class="code-refresh">
                <a href="javascript:void(0);" onclick="onRefresh()">刷新</a>
          </div>

//js
<script>
 var srcurl = \'{{route(\'setpicture\')}}\';
/**
 * 刷新二维码
 *
 */
function onRefresh() {
    $(\'.codeimage\').attr(\'src\', srcurl);
}
</script>

//后台获取验证码
//验证码判断对错
        session_start();
        $code = Input::get(\'code\');
        $codeOrigin = $_SESSION[\'code\'];
        if ($code != $codeOrigin) {
            return Response::json([\'status\' => 10, \'error\' => \'验证码错误\']);
        }

以上是关于laravel - 验证码的主要内容,如果未能解决你的问题,请参考以下文章

laravel 添加验证码

laravel - 验证码

Laravel 下生成验证码的类

php生成各种验证码

JSP 设计教师与学生不同登陆界面(带验证码)

laravel 验证码手机与提交手机的验证?