
비밀번호 재발급에 Captcha 설정하기
All
2024.04.25.
1. CAPTCHA란?
CAPTCHA는 자동 가입 매크로나 봇의 행동을 방지하기 위해 개발된 기술로, 사용자가 인간인지 여부를 확인하는 방법입니다.
일반적으로 사용자는 랜덤으로 생성된 문자를 입력하여 인증 절차를 진행합니다.
자동화된 스크립트나 봇이 웹사이트에 대량으로 요청을 보내는 행위를 막는 데 유용합니다.
CAPTCHA의 주요 목적은 보안성 강화와 봇 차단입니다.
2. CAPTCHA 라이브러리 선택
CAPTCHA를 구현하기 위한 라이브러리 중에서 많이 사용되는 것은 Google reCAPTCHA입니다.
reCAPTCHA는 Google이 제공하는 보안 서비스로, 사용자가 입력한 CAPTCHA 문자를 서버에서 다시 한 번 인증하여 더욱 강력한 보안성을 제공합니다.
하지만, Google reCAPTCHA는 서버 측 인증을 필요로 하므로 설정과 사용 과정이 다소 복잡할 수 있습니다.
그래서 저는 프론트엔드에서 간편하게 CAPTCHA를 처리할 수 있는 react-simple-captcha 라이브러리를 선택했습니다.
Google reCAPTCHA
- 장점: 높은 보안성 (서버 측 인증), 신뢰할 수 있는 Google 서비스.
- 단점: 설정 및 사용 과정이 다소 복잡하고 서버 인증이 필요.
react-simple-captcha
- 장점: 간편한 설정, 프론트엔드에서만 인증 처리 가능.
- 단점: 서버 인증이 없기 때문에 보안성이 상대적으로 낮음.
4. 적용 과정
react-simple-captcha는 간편한 설치와 커스터마이징이 가능한 라이브러리입니다. 아래와 같은 방식으로 CAPTCHA를 적용했습니다.
yarn add react-simple-captcha
or
npm install react-simple-captcha
5. 결론
비밀번호 재발급 기능에서 보안을 강화하기 위해 CAPTCHA를 도입하기도 합니다. Google reCAPTCHA와 같은 고도화된 보안 솔루션도 있지만, 제 경우에는 react-simple-captcha를 사용하여 프론트엔드에서만 간단하게 CAPTCHA 인증을 처리했습니다.