> 백엔드 개발 > PHP 튜토리얼 > Laravel 인증 코드 라이브러리

Laravel 인증 코드 라이브러리

韦小宝
풀어 주다: 2023-03-17 16:26:02
원래의
1486명이 탐색했습니다.

Laravel에는 다양한 이미지 인증 코드 라이브러리가 있습니다. 이 글에서는 그 중 하나인 Laravel을 소개합니다: gregwar/captcha 이 라이브러리는 비교적 간단하며 Laravel에서 더 일반적으로 사용됩니다. 아래에 사용법을 소개하겠습니다.

먼저, 작곡가.json에 다음 구성을 추가하세요:

"require": {
        ...
        "gregwar/captcha": "1.*"
    },
로그인 후 복사

그런 다음, 습관이 된 명령어:

composer update
로그인 후 복사

그러면 정상적으로 사용하실 수 있습니다. 특정 개발 요구에 따라 다양한 방법으로 사용될 수 있습니다.

인증 코드 이미지를 파일로 저장할 수 있습니다:

<?php$builder->save(&#39;out.jpg&#39;);
로그인 후 복사

이미지를 웹페이지에 직접 출력할 수 있습니다:

<?php
header(&#39;Content-type: image/jpeg&#39;);
$builder->output();
로그인 후 복사

인라인 이미지를 생성할 수 있습니다:

<img src="<?php echo $builder->inline(); ?>" />
로그인 후 복사

다음은 사용법 중 하나를 보여줍니다. 방법을 사용하면 이미지를 웹페이지에 직접 출력할 수 있습니다.

컨트롤러 정의:

<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
로그인 후 복사

// 해당 네임스페이스 참조

use Gregwar\Captcha\CaptchaBuilder;
use Session;

class KitController extends Controller {

   /**
    * Display a listing of the resource.
    *
    * @return Response
    */
   public function captcha($tmp)
   {
       //生成验证码图片的Builder对象,配置相应属性
       $builder = new CaptchaBuilder;
       //可以设置图片宽高及字体
       $builder->build($width = 100, $height = 40, $font = null);
       //获取验证码的内容
       $phrase = $builder->getPhrase();

       //把内容存入session
       Session::flash(&#39;milkcaptcha&#39;, $phrase);
       //生成图片
       header("Cache-Control: no-cache, must-revalidate");
       header(&#39;Content-Type: image/jpeg&#39;);
       $builder->output();
   }
}
로그인 후 복사

아래에서 해당 라우터를 설정하여 이 인증 코드 이미지에 액세스할 수 있습니다. router.php를 수정하세요.

Route::get(&#39;kit/captcha/{tmp}&#39;, &#39;KitController@captcha&#39;);
로그인 후 복사

이제 특정 url을 클릭하면 이 사진에 액세스할 수 있습니다.

인증 코드

양식 안에 작성하는 것은 상대적으로 간단합니다. 한 번 살펴보세요.

<input type="text" name="captcha" class="form-control" style="width: 300px;">
<a onclick="javascript:re_captcha();" >
  <img src="{{ URL(&#39;kit/captcha/1&#39;) }}"  alt="验证码" title="刷新图片" 
       width="100" height="40" id="c2c98f0de5a04167a9e427d883690ff6" border="0"/>
</a>
<script>  
  function re_captcha() {
    $url = "{{ URL(&#39;kit/captcha&#39;) }}";
        $url = $url + "/" + Math.random();
        document.getElementById(&#39;c2c98f0de5a04167a9e427d883690ff6&#39;).src=$url;
  }
</script>
로그인 후 복사

마지막 단계는 양식 제출 페이지에서 해당 인증 코드를 확인하는 것입니다. 라이브러리에서는 해당 방법도 제공합니다.

$userInput = $request->get(&#39;captcha&#39;);
if($builder->testPhrase($userInput)) {
    //用户输入验证码正确
    return &#39;您输入验证码正确&#39;;
} else {
    //用户输入验证码错误
    return &#39;您输入验证码错误&#39;;
}
로그인 후 복사

이때 인증코드가 완료되었습니다. 위는 Laravel의 인증코드 라이브러리 gregwar/captcha의 사용과정입니다. 관심있으신 분들은 PHP 중국어 홈페이지에 접속하셔서 더 많은 내용을 검색해보세요~

관련 추천사항:

laravel mongodb 데이터베이스 사용 방법 튜토리얼

Laravel에서 SMS 인증 코드 전송 기능 개발

Laravel에서 모델 검증 사용 예


위 내용은 Laravel 인증 코드 라이브러리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿