2021. 12. 24. 15:59ㆍ개발/Python
더 많은 봇을 중지합니다.
- hCaptcha 소개 문구
안녕하세요. Seeun Dev 블로그 입니다.
오늘은 hCaptcha를 Flask에서 사용해 보도록 하겠습니다.
" hCaptcha가 뭐야? "
hCaptcha는 reCaptcha 같은 하나의 캡챠인데요,
사용자의 개인정보 보호를 우선시 한다고 하는 보안 캡챠입니다.
hCaptcha는 GDPR, CCPA, LGPD, PIPL 및 기타 글로벌 데이터 법률을 준수한다고 합니다.
그래서, 뭐가 더 좋은데?
hCaptcha의 장점은 Publisher일 경우 인간이 캡챠를 풀 때 마다 돈을 벌 수 있다 라는 장점입니다.
아니면, 자선단체에 기부할 수도 있습니다.
대단하지 않나요? 캡챠만으로도 광고 없이 돈을 벌 수 있다는 점.
그러면 이제 시작해 봅시다!
기본 코드 짜기
자 먼저, Python 코드를 먼저 짜 보도록 합시다.
from flask import Flask, render_template, request
app = Flask(__name__)
host = '0.0.0.0'
port = '8080'
debug = True
@app.route('/')
def index():
return render_template('index.html')
app.run(host = host, port = port, debug=debug)
자, 이게 기본적인 코드입니다.
잘 모르시는 분들은 복사 붙여넣기 해주셔도 되고, 이미 Python 파일이 있으신 분들 께서는, 기존 코드를 써도 괜찮습니다! 저는 일단 이 코드로 갈께요.
hCaptcha 발급 받기
hCaptcha를 이용하기 위해서는, 사이트 키와 프라이빗 키가 필요합니다.
사이트 키와 프라이빗 키는 https://www.hcaptcha.com/ 에서 발급 받으실 수 있습니다.
테스트용 키를 공유 해드리겠습니다.
Site Key 10000000-ffff-ffff-ffff-000000000001
Secret Key 0x0000000000000000000000000000000000000000
테스트용 키는 localhost 등 어디서든 사용이 가능하지만, 인증 되는 부분이 존재하지 않고 리워드를 받을 수 없습니다.
개발 목적으로만 사용해주시길 바라며, Publisher일 경우에는 돈을 내지 않아도 되니 웬만하면 발급 받고 사용해주세요!
모듈 넣기
pip로 설치 해야겠죠? 설치해봅시다.
pip install flask-hcaptcha
설치가 되었으면, Flask 파일에 import 하고 몇가지 세팅을 더 해주시면 됩니다.
from flask_hcaptcha import hCaptcha # import
app.config['HCAPTCHA_ENABLED'] = True # 활성화 여부 (BOOL)
app.config['HCAPTCHA_SITE_KEY'] = "" # 사이트 키 (SITE KEY)
app.config['HCAPTCHA_SECRET_KEY'] = "" # 시크릿 키 (SECRET KEY)
hcaptcha = hCaptcha(app) # 셋업
자, 이것만 추가해주시면 됩니다.
import하고 app.config 사이에 app 변수를 정의해주세요.
HTML에서 삽입
index 함수에 render 했던 파일을 열어 봅시다. (제 코드에선 `index.html` 입니다)
<form action="check" method="post">
{{ hcaptcha }}
</form>
이렇게 그냥 form 추가하고 {{ hcaptcha }} 만 넣어주시면 끝납니다.
정말 쉽죠?
hCaptcha 체크하기
@app.route('/check', methods = ['POST'])
def check():
if hcaptcha.verify():
return "성공"
else:
return "실패"
이렇게 해서 체크 할 수 있습니다.
method는 POST를 사용하고요.
참 쉽죠?
벌써 다 따라오셨네요.
제 예시를 보여드리겠습니다.
이번껀 정말 쉬웠네요. 그럼 포스팅 마치겠습니다!
감사합니다! #hCaptcha