• laravel 5.2 使用 captcha 实现 验证码


    案例:

      

     一 .  首先在laravel的项目下找到composer.json 文件 ,在composer.json中的require数组中加上 

        "gregwar/captcha": "1.*",   使用composer update  命令更新一下  这样一来的话,就算是安装上这个库或者是中间件了。之后就可以放肆的写你的代码了

    二. 定义路由:
      
    Route::get('/admin/code','AdminLoginController@code');

     定义好路由后在控制器加入一下代码:

     

    <?php
    
            use GregwarCaptchaCaptchaBuilder;
            
             public function code(Request $request)
           {
             //生成验证码图片的Builder对象,配置相应属性 
                 $builder = new CaptchaBuilder;
             //可以设置图片宽高及字体
                 $builder->build(120, 40);
             //存储验证码
                 Session::set('admin_yzm', $builder->getPhrase()); 
             //生成图片
                 header("Cache-Control: no-cache, must-revalidate");
                 header('Content-Type: image/jpeg');
                 $builder->output();
    
           }    

     三 . blade 模板的调用

      

     <form method="post" class="layui-form" action="{{url('/login_do')}}">
                <input name="username" placeholder="用户名"  type="text" lay-verify="required" class="layui-input" >
                <hr class="hr15">
                <input name="password" lay-verify="required" placeholder="密码"  type="password" class="layui-input">
                <hr class="hr15">
                <input type="text" class="" placeholder="验证码" id="yzm" name="yzm" style=" 50%;height: 40px;padding: 6px 12px;font-size: 14px;border: 1px solid #cccccc;border-radius: 4px;">
                {{csrf_field()}}
                <a onclick="re_captcha()" ><img src="{{url('/admin/code?tmp=1')}}"  alt="验证码" title="刷新图片" width="120" height="40" id="c2c98f0de5a04167a9e427d883690ff6" border="0"></a>
                <input value="登录" lay-submit  style="100%;" type="submit">
                <hr class="hr20" >
    
            </form>
    
    JS代码:
        <script>
        function re_captcha() {
                $url = "{{ URL('/admin/code')}}";
                $url = $url + "?tmp=" + Math.random();
                document.getElementById('c2c98f0de5a04167a9e427d883690ff6').src=$url;
            }
        </script>

    大功告成,欢迎各位提供建议

      

      
  • 相关阅读:
    C# 非UI线程向UI线程发送数据的两种方法
    c# 富客户端使用 MethodInvoker简化代码
    Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activate 'xxxx'.
    弃元
    Serilog 配置基础知识
    测试软件开发准则--基于TTStand
    SuperSocketHostBuilder<TReceivePackage>
    Ext CheckBoxGroup使用
    2020年12月28日 新工作新旅程
    2021年全国计算机等级考试报名照片制作教程(压缩、裁剪、换白底)
  • 原文地址:https://www.cnblogs.com/dadiaomengmei/p/11655827.html
Copyright © 2020-2023  润新知