Proxy 뒤에 Django 시스템 (Alfred라고 부름)을 실행해야합니다. 둘 다 동일한 네트워크에 있습니다. 프록시로 나는 yuri vandermeer의 django-httpproxy를 사용합니다. 두 시스템은 모두 시스템이 동일한 (폐쇄) 네트워크와 같은 IP에있는 장고 버전 1.2.4프록시 뒤에 장고의 CSRF 보호를 비활성화하는 방법
를 실행
을 (자신의 페이지 yvandermeer.net 참조). 나는 포트 8000과 알프레드 1337 포트에서 실행되는 프록시를 가지고있다. 나는 그의 admin 사이트를 사용하여 Alfred에 로그온 할 필요가있다. 이것은 장고와 함께 기본적으로 제공된다. 이것은 포트 1337을 통해 작동하지만 포트 8000을 통해 액세스해야합니다.
알프레드는 403 CSRF 오류를 던지고 있으며, 나는 man-in-the- 중간 (- 알프레드는 그 말을 할 때 완전히 옳다).
- 나는 내가 disable.py을 만들어
MIDDLEWARE_CLASSES의 settings.py에 CsrfViewMiddleware에서 주석과 미들웨어의 disableCSRF 클래스를 추가 :
나는 Alfreds CSRF 보호를 해제하는 몇 가지 시도 CLASSES 내가 disable.py을 생성 (질문/1785772)#disable.py class DisableCSRF(object): def process_request(self, request): setattr(request, '_dont_enforce_csrf_checks', True)
이 사이트에 언급 한 것처럼 (실제로 나는 각 [!] 위치를 시도)와 disableCS 추가 http://hi.baidu.com/ledzep2/blog/item/e6b1612e21884c5c4ec2267a.html
#disable.py class DisableCSRF(object): def process_view(self, request, callback, callback_args, callback_kwargs): setattr(request, '_dont_enforce_csrf_checks', True)
내가 장고/미들웨어/csrf.py에서 Csfr 보호 메커니즘을 주석 시도했지만 내가 발견 : 여기이 다른 게시물에 언급 한 것처럼 미들웨어 클래스 (다시 나는 각각의 위치를 시도)에 RF 클래스 일의
없음을 일하지 언급/
1,650,941 질문/: 라인 190하지 주위 라인 (160)이 사이트에 언급과 같은 주변의 관련 부분./admin을 통해 로그온하려고하면 403 오류가 발생합니다.Alfred에서 CSRF 보호를 비활성화하려면 어떻게합니까?/admin에 대해 비활성화하는 것이 가능합니까? 나는 2와 3에서 언급 한 것과 같은 미들웨어로 이것을 할 수 있다면 좋을 것입니다. 4에서와 같이 소스에서 뭔가를 주석으로 달아서는 안됩니다. 미들웨어 방식이 있다면 좋을 것 같습니다.
미리 감사드립니다. :)
[djproxy] (https://github.com/thomasw/djproxy)가 아마도 더 좋은 선택 일 것입니다. 쿠키 정보를 잃지 않고 구성 및 사용이 더 쉽습니다. – Thomas