宝塔新春特惠活动,企业版1099元/年,送SSL证书,最高立减2万元!查看活动
当前位置:论坛首页 > Linux面板 > 讨论

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

发表在 Linux面板2025-3-21 15:29 [复制链接] 2 94

禁止访问 (403)
CSRF验证失败. 请求被中断.

更多可用信息请设置选项DEBUG=True。



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


使用道具 举报 只看该作者 回复
发表于 7 天前 | 显示全部楼层
使用道具 举报 回复 支持 反对
发表于 7 天前 | 显示全部楼层
CSRF(跨站请求伪造)是一种常见的网络攻击方式,Django 默认启用了 CSRF 防护功能。如果您在使用映射的域名访问 Django 管理页面时出现 CSRF 验证失败的问题,可能是由于您的 Nginx 服务没有正确地传递 CSRF token 导致的。
解决方法如下:

在 Django 项目的 settings.py 文件中添加以下配置:
  1. CSRF_TRUSTED_ORIGINS = ['your.domain.com']
复制代码

其中 "your.domain.com" 替换成您的域名。
这个配置将告诉 Django,您的域名是可信的,可以信任您的 Web 服务器传递的 CSRF token。
2. 在 Nginx 或者 Apache 的配置文件中添加以下配置:
  1. location / {
  2.     proxy_set_header X-Forwarded-Proto $scheme;
  3.     proxy_set_header X-Real-IP $remote_addr;
  4.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  5.     proxy_set_header Host $host;
  6.     proxy_pass http://127.0.0.1:7001;
  7.     proxy_redirect off;
  8. }
复制代码

其中,proxy_pass 后面的地址应该与您的 Python 项目配置的地址一致。
3. 重启 Nginx,然后尝试通过映射的域名访问 Django 管理页面。
可参考以上操作来解决 CSRF 验证失败的问题。

使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表