前后分离 laravel对接验证码功能

"这篇博客介绍了在进行等保三级安全措施时,如何改进接口登录策略。原来的方法是在连续错误5次后禁止一小时登录,现在增加了验证码功能以提升安全性。通过引入'MewsCaptcha'库并在后台及前端实现验证码的生成与验证,增强了用户登录过程的安全性,防止恶意登录尝试。"
摘要由CSDN通过智能技术生成

2022年12月19日16:30:52

因为最近在做等保三级,之前接口只做了错误5次,就禁止一个小时登录,但是发现还是不好,这次添加验证码功能

composer require mews/captcha

找到config/app.php下的providers,添加

'providers' => [
         // ... 
       Mews\Captcha\CaptchaServiceProvider::class,
]

后台接口:

try {
            $data = app('captcha')->create('default', true);
            return $this->success($data);
        } catch (Exception $e) {
            return $this->fail($e);
        }

前端页面

<el-form-item class="input-prepend" prop="code">
         <span class="svg-container">
            <svg-icon icon-class="password"/>
          </span>
        <el-input placeholder="验证码" v-model="loginForm.code" style="width: 60%"></el-input>
        <el-button class="btn-up-resend" type="text" style="margin-top: -10px;padding-top:-15px">
          <img @click="changeCaptcha" :src="loginForm.captchaImg" alt="图片验证码">
        </el-button>
      </el-form-item>
	  
changeCaptcha() {
      getCaptcha().then(response => {
        this.loginForm.captchaImg = response.data.img
        this.loginForm.captchaKey = response.data.key
        // console.log(this.loginForm)
      })
    },

后端验证码

if (empty($code)) {
                throw new Exception('验证码不能为空');
            }
            if (!captcha_api_check($code, $captchaKey)) {
                throw new Exception('验证码错误');
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值