[TIL] Flask -CSRF protect

jake.log·2021년 11월 23일
0

Flask

목록 보기
3/3
post-custom-banner

CSRF

CSRF(Cross Site Request Forgery)의 약자로,사이트간 요청 위조를 뜻한다. 클라이언트(희생자)의 의지와 상관없이 공격자가 의도한 작업이 진행 되게끔 유도하는 해킹 방법이다.

이를 막기 위해 CSRF 토큰 검증을 진행한다.

CSRF방어가 필요한 요청(=쓰기/변경이 가능한 엔드포인트 및 메서드들) 마다 특정 토큰을 포함시켜서 요청하여, 서버에서 비교하는 방식이다.

pip install flask-wtf
1)
from flask_wtf.csrf import CSRFProtect

csrf = CSRFProtect(app)
2) Applicaiont factory 사용시 
from flask_wtf.csrf import CSRFProtect

csrf = CSRFProtect()

def create_app():
    app = Flask(__name__)
    csrf.init_app(app)

WTF_CSRF_SECRET_KEY가 꼭 정의 되어 있어야 한다.

따라서 아래와 같이 정의한다. 실제로는 더 복잡한 secret key 필요.

) 
app.config['SECRET_KEY'] = 'secretkey'  
profile
꾸준히!
post-custom-banner

0개의 댓글