加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在文本浏览器中使用Django的https站点抛出CSRF验证失

发布时间:2020-12-20 13:48:18 所属栏目:Python 来源:网络整理
导读:我有一个Django站点,在使用HTTPS协议的服务器上运行良好,我可以使用它与所有类型的浏览器没有问题. 问题是,每次我尝试使用文本浏览器时,我都会得到一个 禁止的(403) CSRF verification failed. Request aborted.You are seeing this message because this HT
我有一个Django站点,在使用HTTPS协议的服务器上运行良好,我可以使用它与所有类型的浏览器没有问题.

问题是,每次我尝试使用文本浏览器时,我都会得到一个

禁止的(403)

CSRF verification failed. Request aborted.

You are seeing this message because this HTTPS site requires a 'Referer header' to be sent by your Web browser,but none was sent.
This header is required for security reasons,to ensure that your browser is not being hijacked by third parties.

If you have configured your browser to disable 'Referer' headers,please re-enable them,at least for this site,or for HTTPS
connections,or for 'same-origin' requests.

Help

Reason given for failure:

    Referer checking failed - no Referer.

我已尝试过链接,lynx,甚至是emacs上的w3m和eww,但无济于事.

当我使用HTTP站点时(比如当我使用manage.py runserver时)我可以在文本浏览器上使用该站点没有问题,但我的生产服务器需要一个HTTPS协议,那就是我收到此错误.

[编辑:仅出于测试目的,我在生产服务器上为我的django站点部署了一个HTTP服务器.它适用于文本浏览器……]

[编辑:给定服务器抛出的消息,为什么没有给出Referer头文件? ]

解决方法

Lynx可能配置为不发送Referer头.检查/etc/lynx.cfg中的“REFERER”.

有一些条目,如NO_REFERER_HEADER.确保将其设置为false.如果不是这样,请在该配置中查看任何其他已禁用的referer标头.

还有相关的,CSRF和Referer标题辩论:https://code.djangoproject.com/ticket/16870

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读