PHPMyAdmin 에 reCAPTCHA v3 적용

Share

Last Updated on 5월 19, 2024 by Jade(정현호)

구글에서 제공하는 봇 방지 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 설정

구글 reCAPTCHA 를 등록하여 사이트 키와 비밀키를 받았다면 이번에는 PHPMyAdmin 에 설정을 해야 합니다. 


[참고] 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 을 막는다고 합니다.


관련된 추가 포스팅
 - 2차 인증인 OTP 를 사용하여 로그인 보안 설정



이어지는 다음 글
오라클 클라우드 프리티어 - CentOS 환경 연재글을 보신 경우 아래 포스팅을 이어서 보시면 됩니다.


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

           

0
글에 대한 당신의 생각을 기다립니다. 댓글 의견 주세요!x