csrf_token cookie 被另一个网站删除了?

发布于 2024-09-12 20:20:15 字数 224 浏览 9 评论 0原文

我有一个在 1.2.1 上运行的 django 站点,有时我的用户会丢失大量工作,因为 csrf_token cookie 不存在并且页面在发布时出现 403 错误。我将范围缩小到另一个网站(我的用户经常访问的网站),删除了我的 cookie。该站点使用 ActiveX ClearAuthenticationCache 命令来执行此操作。

除了取消CSRF保护之外,还有其他解决方案吗?

谢谢, 皮特

I have a django site running on 1.2.1, and once in a while my users lose a lot of work because the csrf_token cookie does not exist and the page errors out with a 403 error on post. I narrowed this down to another site (that my users frequent) deleting the cookie on me. The site does this with the ActiveX ClearAuthenticationCache command.

Is there any solution to this problem other than removing the CSRF protection?

Thanks,
Pete

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤单情人 2024-09-19 20:20:16

您可以利用 cookie 所需值仍然存在于页面中这一事实,并在提交之前使用 javascript 重新创建 cookie。挂钩提交按钮单击,然后添加类似的内容

document.cookie = 'csrfmiddlewaretoken='+$("input[name='csrfmiddlewaretoken']").val()

You can use the fact that the required value of the cookie is still present in the page, and use javascript to re-create the cookie just before submitting. Hook to the submit button click, and add something like

document.cookie = 'csrfmiddlewaretoken='+$("input[name='csrfmiddlewaretoken']").val()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文