phpmyadmin에 reCAPTCHA v3 적용

Last Updated on 6월 4, 2021 by 태랑(정현호)



구글에서 제공하는 봇 방지 API



Bot 에 의한 데이터 수집이나 무작위 대입공격(Brute Force Attack) 등을 막기 위해 당신은 로봇입니까
라고 물어보는 reCAPTCHA 를 보셨을 겁니다

reCAPCHA 는 구글에서 제공하는 봇 방지 API 로 최신버전은 v3 입니다.





[시작전] 해당글은 Ubuntu 18.04 + Nginx + PHP-FPM + MariaDB 로 웹 서비스 구성 과정 과
Centos 에 YUM으로 APM 구성 과정의 연재글의 중간글 입니다.

다음 글은 링크는 포스팅 하단에 있습니다.



이전 연재글 : Freenom 을 통한 최상위 국가 도메인을 무료로 발급






Google reCAPTCHA 생성



reCAPTCHA 생성 후 phpmyadmin에 등록 하도록 하겠습니다.

reCAPTCHA는 아래링크를 통해 바로 생성 할 수 있습니다




아래와 같이 라벨, reCAPCHA 유형 , 도메인 , 소유자의 이메일 주소를 입력합니다
버전은 v3 로 합니다.


이전 포스트를 통해서 무료로 도메인 발급과 서브도메인 레코드를 등록 하였다면 myadmin.주소 를 입력 하면 됩니다



도메인이 없으시면 위의 이전 포스트를 참조하여 freenom 에서 무료 도메인을 발급 받아 사용 해보시면 됩니다 (도메인이 필요 합니다)








위에서 생성이 완료 되었다면 아래와 같이 사이트 키와 비밀키를 부여 받게 됩니다.





phpmyadmin 의 설치 및 설정 관련 해서는 아래 글을 참조하시면 됩니다.



phpmyadmin 설치 디렉토리에 있는 config.inc.php 파일내 아래의 2개의 옵션을 추가 해 줍니다.

$cfg[‘CaptchaLoginPublicKey’] = 'Site key'
$cfg[‘CaptchaLoginPrivateKey’] = 'Secret key'


위와 같은 형식을 입력해주면 되며 위에서 받은 site key를 첫번째 라인의 PublicKey 에 입력을 해주고 Secret key 는 두번째 라인인 PrivateKey 에 입력 해줍니다.


그리고 reCAPCHA를 쓰기 위해서는 auth_type 은 cookie 로 사용해야 합니다.
$cfg['Servers'][$i]['auth_type'] = 'cookie';





입력 완료 후 cache 등을 초기화 후 접속해 보면 아래 이미지와 같이 오른쪽 하단에 
반응형으로 동작에 대해서 인식을 하고 있는 모습을 확인 할수 있습니다.

reCAPTCHA v3는 v2와 다르게 사용자를 방해하지 않으며 사용자의 행동(action)을 보고
기계인지 사람인지 판단하는 방법이라고 합니다.

reCAPTCHA v3는 0 ~ 1.0 까지의 점수를 서버에 보내주는데 0에 가까울수록 기계 가깝다는 뜻이고
1에 가까울수록 사람에 가깝다고 알려주는 형태로 bot 을 막는다고 합니다.


[신규 추가] phpMyAdmin 로그인 관련 보안에 대한 추가 사항인 2차인 OTP 설정에 대한 내용은 아래 포스팅을 추가로 더 보시면 됩니다.





이어지는 다음 글
- 오라클 클라우드 프리티어 - Centos 환경 연재글을 보신 경우 아래 포스팅을 이어서 보시면 됩니다.
Centos에서 YUM 으로 APM(Apache+PHP+Mysql)  스택 - Apache 가상디렉토리 설정

- AWS 프리티어 - 우분투 환경에서 Nginx PHP MariaDB 연재글을 보신 경우 아래 포스팅을 이어서 보시면 됩니다.

답글 남기기