错误````Forbidden (403) CSRF 验证失败。请求中止。````当尝试登录管理员时

问题描述 投票:0回答:1

该错误仅发生在远程服务器上。当地一切都很好。 静态好像没问题 这里什么也没碰:

ALLOWED_HOSTS = []
MIDDLEWARE = [
    "django.middleware.security.SecurityMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "corsheaders.middleware.CorsMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
]

使用:django、nginx、docker、git 操作。 哪里出了问题?

当我插入没有闭括号的链接(my-dns.com/admin)时,另一个问题将我重定向到没有端口的 127.0.0.1/admin/ 。 当链接正常时,csrf 令牌出现问题

django nginx django-forms django-templates django-admin
1个回答
0
投票

CSRF 令牌的一部分是为了防止跨站点请求伪造(这当然是我们的目的)。

因此,这意味着 CSRF 中间件还将检查发出请求的域,这些是 ALLOWED_HOSTS 文件中的

settings.py [Django-doc]

# settings.py

ALLOWED_HOSTS = ['foodgram-fklska.hopto.org']
© www.soinside.com 2019 - 2024. All rights reserved.