티스토리 뷰

WEB/Python&Django

Django Csrf, Csrf_token

Rocknz 2016. 11. 16. 16:59

Cross Site Request Forgery protection

Csrf_token은 Cross Site Request Forgery 를 막기 위해 존재한다.


Cross Site Request Forgery 란 ? 

CSRF 취약점은 

악의적인 사이트가 접속자들의 브라우저를 이용해 내 서버의 값을 바꾸도록 request를 요청하는걸 나타낸다. 

이러한 request는 유저의 쿠키나 유저의 제출한 형식에 낑겨져오기 때문에 서버가 오인할 수 있다.

(A Cross-site request forgery hole is when a malicious site can cause a visitor's browser to make a request to y our server that causes a change on the server. The server thinks that because the request comes with the user's cookies, the user wanted to submit that form.)

그래서 Django framework은 Csrf protection을 제공한다.


방법은 : 

1. settings.py에 MIDDLEWARE에 'django.middleware.csrf.CsrfViewMiddleware' 가 있는지 확인한다.

없으면 추가한다. https://docs.djangoproject.com/en/1.10/ref/settings/#std:setting-MIDDLEWARE


2. post 하는 form을 만들 때, {% csrf_token %}을 추가한다.


끝.


AJAX나 다른 녀석들은 다른방식을 써야하나본데.. 아직 필요없어서 모르겠다.

https://docs.djangoproject.com/en/1.10/ref/csrf/

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함