2013-04-30 2 views
0

나는 장고 서버를 쓰고 있습니다. 정말 이상한 상황이 발생했습니다. URL을 테스트 할 때 POST 중 하나의 URL에 process_view과 해당 URL에 해당하는보기 기능이 모두 실행되는 동안 process_request 미들웨어 만 공격되었습니다. 프로세스가 어떻게 든 중간에 멈 췄고 HTTP 403이 클라이언트에 반환되었습니다. 또한 동일한 URL (및 동일한보기 기능)을 사용하여 다른 시간에 I GET 대신 프로세스가 원활하게 오류없이보고되었습니다. 다른 모든보기 기능/URL은 잘 작동합니다.Django HttpResponse 금지보기 기능을 호출하지 않고 발생했습니다

서버가 약간 크므로 여기서는이 모든 것을 보여주지는 않을 것입니다. 그러나, 나는 단지 두 개의 복장을 가지고있다. middlewares - process_requestprocess_view. 내가 말했듯이, process_request라고 불린다. HttpResponseForbidden을 반환하지 않습니다. 여기에 설치된 앱 있습니다

'django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'ttam_container.ttam.middlewares.authentication.Authentication' 

과 :

'django_concurrent_test_server', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'ttam_container.ttam', 
'ttam_container.ui' 

어떤 생각을하는 것은 아마도 무엇이 잘못 갈 수를 여기에

middlewares를 설치?

+0

당신이 당신의'view' 및 표시 할 수 아약스와 CSRF 보호를 사용하는 방법을 문서를 읽어'template' ? –

+0

그것은 html 형식이 아니기 때문에'template'도 없습니다 ... –

답변

1

요청하신 내용을 잊어 버렸기 때문에 csrf 토큰을 포함 할 수도 있습니다. 당신이 HTML 양식을 사용하는 경우, csrf_token 포함 태그가

<form ... 
    {% csrf_token %} 
    ... 

당신은 아약스 요청을 사용하는 경우에 - https://docs.djangoproject.com/en/1.5/ref/contrib/csrf/

+0

html 형식의'POST'가 아닙니다 .... –

관련 문제