[TIL] Flask -CSRF protect

jake.log·2021년 11월 23일
0

Flask

목록 보기
3/3

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
꾸준히!

0개의 댓글