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

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

概述我有一个Django站点,在使用HTTPS协议的服务器上运行良好,我可以使用它与所有类型的浏览器没有问题. 问题是,每次我尝试使用文本浏览器时,我都会得到一个 禁止的(403) CSRF verification failed. Request aborted.You are seeing this message because this HTTPS site requires a 'Ref 我有一个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 httpSconnections,or for 'same-origin' requests.HelpReason 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

总结

以上是内存溢出为你收集整理的python – 在文本浏览器中使用Django的https站点抛出CSRF验证失败全部内容,希望文章能够帮你解决python – 在文本浏览器中使用Django的https站点抛出CSRF验证失败所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存