이 글은 주로 Laravel5.2가 Captcha를 사용하여 인증코드(세션피트)를 생성하는 방법을 소개하고 있습니다. 필요하신 분들은 참고하시면 됩니다
최근 친구가 라라벨 인증코드 로그인에 도움을 달라고 해서 좀 조사해봤습니다. . (laravel 사용법을 잊어버릴 뻔했습니다.)
우선 laravel을 설치하기 위해 아래 세부 사항을 살펴볼 필요가 없습니다. 제 버전은 5.2.45입니다. (참고: laravel 5.2.6 이상에서는 미들웨어가 자동으로 로드될 수 있습니다.) , 꽤 중요합니다.
설치가 완료된 후 작곡가를 사용하여 Captcha를 로드해야 합니다. 구체적인 방법은 "gregwar/captcha":"1.*" 코드 줄을 작곡가.json의 필수 배열에 추가하는 것입니다. 그런 다음 프로젝트의 루트 디렉터리에서 cmd를 사용하여 작곡가 업데이트 코드 줄을 실행합니다. 이 경우 라이브러리나 미들웨어가 설치되어 있어도 마찬가지입니다. 그러면 자유롭게 코드를 작성할 수 있습니다.
php: (아래 특정 라우팅에 대해 너무 자세히 설명하지 않고 키 코드만 작성합니다.)
public function captcha($tmp) { //生成验证码图片的Builder对象,配置相应属性 $builder = new CaptchaBuilder; //可以设置图片宽高及字体 $builder->build($width = 100, $height = 40, $font = null); //获取验证码的内容 $phrase = $builder->getPhrase(); //把内容存入session Session::flash('milkcaptcha', $phrase); //生成图片 header("Cache-Control: no-cache, must-revalidate"); header('Content-Type: image/jpeg'); $builder->output(); }
blade 템플릿 호출:
<img src="{{url('/captcha/1')}}" alt="" onclick="this.src='{{url('/captcha')}}/'+Math.random()" width="100" height="40" border="0">
이것이 end 그렇지 않다면 당신은 정말 너무 양이 많고 너무 단순합니다. 확인해보면 모든 것이 잘못되었음을 알 수 있습니다.
너무 시큼하고 상큼하지 않나요? laravel5.2에서는 모든 세션이 컨트롤러와 메소드를 교차할 수 없기 때문에 기본적으로 세션은 미들웨어를 통해 전달되어야 합니다. 걱정하지 마십시오. 다음 방법이 해결책입니다. 현재 제가 알고 있는 해결책은 두 가지인데, 하나는 미들웨어를 직접 만들어서 모든 세션을 저장하는 것인데, 조금 번거롭습니다. 다음으로 laravelappHttpKernel.php에 다음 코드를 $middleware에 추가해 보겠습니다. 파일에:
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, \Illuminate\Cookie\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class,
그러면 안심하고 세션을 사용하실 수 있습니다. 아래의 인증 코드를 확인하는 방법입니다.
public function login_data() { $userInput = \Request::get('captcha'); if (Session::get('milkcaptcha') == $userInput) { //用户输入验证码正确,验证你自己密码用户名 echo 1; } else { //用户输入验证码错误 echo 2; } }
마지막으로 laravel의 공식 문서에 대해 불만을 제기해야합니다. 이러한 함정은 개발자가 개발을 걱정하기 때문입니다. 너무 매끄럽다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!
관련 권장사항:
Laravel의 날짜 및 시간 처리 패키지 Carbon 사용에 대해
php artisan 사용에 대해 laravel 5.1에서 마이그레이션
로그가 처리되지 않는 문제를 해결하는 방법 Laravel
으로 작성하세요
위 내용은 Laravel5.2는 Captcha를 사용하여 로그인 구현을 위한 인증 코드를 생성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!