wang4638978 发表于 2025-3-21 15:29:51

【已解答】禁止访问 (403) CSRF验证失败. 请求被中断.

禁止访问 (403)CSRF验证失败. 请求被中断.
更多可用信息请设置选项DEBUG=True。


怎么解决?打开网页登录。

是山河呀 发表于 2025-3-22 09:45:09

你可以参照一下这个帖子
https://blog.csdn.net/weixin_37770279/article/details/124480045

阿珂 发表于 2025-3-22 09:57:03

CSRF(跨站请求伪造)是一种常见的网络攻击方式,Django 默认启用了 CSRF 防护功能。如果您在使用映射的域名访问 Django 管理页面时出现 CSRF 验证失败的问题,可能是由于您的 Nginx 服务没有正确地传递 CSRF token 导致的。
解决方法如下:

在 Django 项目的 settings.py 文件中添加以下配置:CSRF_TRUSTED_ORIGINS = ['your.domain.com']
其中 "your.domain.com" 替换成您的域名。
这个配置将告诉 Django,您的域名是可信的,可以信任您的 Web 服务器传递的 CSRF token。
2. 在 Nginx 或者 Apache 的配置文件中添加以下配置:
location / {
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_pass http://127.0.0.1:7001;
    proxy_redirect off;
}
其中,proxy_pass 后面的地址应该与您的 Python 项目配置的地址一致。
3. 重启 Nginx,然后尝试通过映射的域名访问 Django 管理页面。
可参考以上操作来解决 CSRF 验证失败的问题。

页: [1]
查看完整版本: 【已解答】禁止访问 (403) CSRF验证失败. 请求被中断.