반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 포너블
- vcruntime.dll
- 해킹
- 바이트 오더
- windows kernel debugging
- 윈도우 커널 드라이버
- 윈도우 커널 디버깅
- packet capture
- 네트워크 바이트 오더
- C언어 패킷캡쳐
- hacking
- vcruntime140.dll
- Windows Kernel Driver
- Windows
- HackCTF
- ucrtbase.dll
- Msvcrt.dll
- Windows Kernel Debug
- apphelp.dll
- Windows Kernel
- pcap packet capture
- 윈도우 커널
- 개발하기
- 시스템해킹
- IAT Hooking
- 개발 환경 준비
- arudino
- pcap packet
- pwnable
- Network Byte Order
Archives
- Today
- Total
미친해커
[Web] Python Flask Google reCAPTCHA v2 적용하기 본문
반응형
이번에 내가 운영하고 있는 웹사이트에 누가 10만번 리퀘스트를 날리는 일이 발생했다. 물론 디버깅 모드와 캡챠를 적용하지 않은건 내 잘못이다. 하지만 일부러 보안 설정을 해두지 않았으며 또 그렇다고 하더라도 허락없이 10만번이나 리퀘스트를 날리는건 법에 어긋난다. 그래서 이번 기회에 구글에 reCAPTCHA 우리가 흔히 알고 있는 '로봇이 아닙니다.'를 웹 사이트에 적용해보려고 한다. 참고로 나는 Python Flask를 사용하고 있다. 이 글을 쓰는 지금 친구의 연애상담을 하고 있다.
먼저 위 링크에 들어가 웹 사이트를 등록해야한다. 사이트에 들어가면 다음과 같이 선택해준다,
필자는 localhost에서 테스트할 생각이기 때문에 도메인에 127.0.0.1을 입력했다. 만약 본인 사이트에 적용할 생각이라면 도메인을 적어주기 바란다. 이후에 제출을 누르면 다음과 같은 화면을 볼수 있다.
사이트 키 : 웹 사이트에서 토큰을 발급받기 위해 사용하는 키
비밀 키 : 웹 서버가 토큰이 유효한지 확인하기 위해 사용하는 키
이렇게 정상적으로 키가 발급되었다면 이제 Python 라이브러리를 다운받도록 하자
$ pip install flask
$ pip install flask_recaptcha
# 서버 코드
# file name : run.py
from flask import Flask, request, render_template
from flask_recaptcha import ReCaptcha
app = Flask(__name__)
app.config['RECAPTCHA_SITE_KEY'] = '사이트 키'
app.config['RECAPTCHA_SECRET_KEY'] = '비밀 키'
recaptcha = ReCaptcha(app)
@app.route('/', methods=['GET', 'POST'])
def default():
message = ''
if request.method == 'POST':
if recaptcha.verify():
message = 'success'
else:
message = 'failed'
return render_template('v2.html', message=message)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80, debug=True)
<!-- file name : v2.html -->
<!DOCTYPE html>
<html>
<head>
<title>Flask ReCaptcha Tutorial</title>
</head>
<body>
<form method="POST"> <!-- 플라스크 서버로 POST 리퀘스트 전송 -->
{{ recaptcha }} <!-- main.py 파일의 recaptcha 변수 -->
<input type="submit" value="Submit">
</form>
<p>{{ message }}</p> <!-- reCAPTCHA의 성공과 실패 여부를 확인 -->
</body>
</html>
아래 압축파일에 미리 환경을 셋팅해뒀다. 잘 모르겠다면 다운받아서 run.py 만 실행하면 된다.
이후 웹 사이트를 가동시켜 접속해보면 정상적으로 reCAPTCHA가 적용되어 있는 모습을 볼 수 있다,
반응형
'Web' 카테고리의 다른 글
[Web] Python Flask Google reCAPTCHA v3 적용하기 (0) | 2022.01.15 |
---|
Comments