#{% csrf_token %}
Django의 CSRF공격에 대한 방어
CSRF 공격을 방어하기 위한 다양한 방법이 있지만 Django에서는 기본적으로 csrf token을 이용한다.
POST 요청에 대해서만 csrf token을 발급하고 체크한다.
- CsrfViewMiddleware는 MIDDLEWARE 설정에서 기본적으로 활성화 되어있다.
- csrf token 발급(사용자가 로그인할 때마다 값이 변경됨)
- view가 호출되기 전 csrfmiddlewaretoken 유효성 검증
- POST 양식을 사용하는 템플릿에서 <form> 태그 안에 {% csrf_token %} 태그를 사용
# Model로 입력 받기
#블로그 글을 저장해주는 함수
def create(request):
if(request.method == 'POST'):
post =Blog()
post.title=request.POST['title']
post.body=request.POST['body']
post.date=timezone.now()
post.save()
return redirect('home')
def formcreate(request):
if request.method=='POST':
form =BlogForm(request.POST)
if form.is_valid():
post=Blog()
post.title=form.cleaned_data['title']
post.body=form.cleaned_data['body']
post.save()
return redirect('home')
else:
form=BlogForm()
return render(request,'form_create.html',{'form':form})
def modelformcreate(request):
if request.method=='POST':
form =BlogModelForm(request.POST)
if form.is_valid():
form.save()
return redirect('home')
else:
form=BlogModelForm()
return render(request,'form_create.html',{'form':form})
'일기장 > 하루 정리' 카테고리의 다른 글
220526 [목] 집중 (0) | 2022.05.26 |
---|---|
220523 [월] 한층 더 집중하는 한 주를 보내자 (0) | 2022.05.23 |
Django #static #ORM (0) | 2022.05.20 |
220517 [화] 이번주 휴일 많다 (0) | 2022.05.17 |
220516 [월] 이번주는 다르다 (0) | 2022.05.16 |