Django admin 로그인 시 Forbidden (403) CSRF verification failed.
웹 프로그래밍

Django admin 로그인 시 Forbidden (403) CSRF verification failed.

728x90
반응형

django

 

superuser 생성 후 /admin에 접속하여 로그인을 시도하던 중 CSRF 문제로 보이는 에러가 발생하였다.

이는 Django 4.0 이후 바뀐 내용으로 settings.py에 CSRF_TRUSTED_ORIGINS 설정을 추가해주면 해결된다.

 

https://stackoverflow.com/questions/70285834/forbidden-403-csrf-verification-failed-request-aborted-reason-given-for-fail

 

Forbidden (403) CSRF verification failed. Request aborted. Reason given for failure: Origin checking failed does not match any t

Help Reason given for failure: Origin checking failed - https://praktikum6.jhoncena.repl.co does not match any trusted origins. In general, this can occur when there is a genuine Cross Site Request

stackoverflow.com

 

하지만 본인은 github codespace를 사용하는 중이었고, codespace는 매번 바뀌는 url을 제공하기 때문에 해당 설정에 정적인 URL을 입력해 해결할 수 없었다. 따라서 모든 ip에 허용 권한을 부여하고자 하였다. 

해결방법은 아래와 같다.

 

import socket
def get_ipaddress():
    host_name = socket.gethostname()
    ip_address = socket.gethostbyname(host_name)
    return "http://"+ip_address

CSRF_TRUSTED_ORIGINS = [get_ipaddress()]

 

728x90
반응형