Codeigniter 4에는 라이브러리 Recaptcha v2를 무료로 사용할 수 있습니다.
이 repostory는 이미 https://github.com/phpdevsr/recaptcha-codeigniter4로 이동합니다
Recaptcha는 사이트를 스팸 및 학대로부터 보호하는 무료 서비스입니다. 고급 위험 분석 엔진을 사용하여 인간과 봇을 구별합니다. 새로운 API를 사용하면 상당수의 유효한 인간 사용자가 보안 문자를 풀지 않고도 Recaptcha 챌린지를 통과합니다 (자세한 내용은 블로그 참조). Recaptcha는 블로그, 포럼, 등록 양식 등에 쉽게 추가 할 수있는 위젯 형식으로 제공됩니다.
세부 사항을 참조하십시오.
Recaptcha를 사용하려면 사이트의 API 키 쌍에 가입해야합니다. 키 쌍은 사이트 키와 비밀로 구성됩니다. 사이트 키는 사이트에 위젯을 표시하는 데 사용됩니다. 비밀은 응용 프로그램 백엔드와 Recaptcha 서버 간의 통신을 승인하여 사용자의 응답을 확인합니다. 비밀은 보안 목적으로 안전하게 유지해야합니다.
작곡가로 설치하십시오
$ composer require hexageek1337/recaptcha-codeigniter4git 클론으로 수동 설치
$ git clone https://github.com/hexageek1337/reCAPTCHA-Codeigniter
$ cd reCAPTCHA-Codeigniter-main
$ cp app/Config/Settings.php your_application_folder/Config/
$ cp app/Libraries/Recaptcha.php your_application_folder/Libraries/ app/Config/Settings.php 파일에서 사이트 키와 비밀을 설정하십시오
public $ recaptcha_site_key = '' ;
public $ recaptcha_secret_key = '' ;
public $ recaptcha_lang = ' id ' ; echo $ this -> recaptcha -> getWidget ();산출:
< div class =" g-recaptcha " data-sitekey =" xxxxx " data-theme =" light " data-type =" image " data-size =" normal " loading =" lazy " > </ div >패스 배열 매개 변수별로 기본 테마를 변경합니다
echo $ this -> recaptcha -> getWidget ( array ( ' data-theme ' => ' dark ' ));패스 배열 매개 변수 별 기본 유형을 변경합니다
echo $ this -> recaptcha -> getWidget ( array ( ' data-theme ' => ' dark ' , ' data-type ' => ' audio ' )); echo $ this -> recaptcha -> getScriptTag ();산출:
< script type =" text/javascript " src =" https://www.google.com/recaptcha/api.js?render=onload&hl=id " defer > </ script >패스 배열 매개 변수별로 렌더 값을 변경합니다
echo $ this -> recaptcha -> getScriptTag ( array ( ' render ' => ' explicit ' ));패스 배열 매개 변수별로 기본 언어를 변경하십시오
echo $ this -> recaptcha -> getScriptTag ( array ( ' render ' => ' explicit ' , ' hl ' => ' zh-TW ' )); Recaptcha Siteverify API를 호출하여 사용자가 g-recaptcha-response post 매개 변수를 전달하는지 여부를 확인합니다.
$ captcha = $ this -> request -> getPost ( ' g-recaptcha-response ' );
$ response = $ this -> recaptcha -> verifyResponse ( $ captcha );성공을 확인하거나 실패합니다
if ( isset ( $ response [ ' success ' ]) and $ response [ ' success ' ] === true ) {
echo " You got it! " ;
}