gpt4 book ai didi

django - 包含两种形式将如何影响我的 CSRF Token 使用?

转载 作者:行者123 更新时间:2023-12-04 19:09:01 26 4
gpt4 key购买 nike

我正在尝试创建一个包含两种表单的页面:一个在页面加载时可见(登录表单),另一个在用户单击按钮时出现在模式中(注册表单)。

我正在使用 Django,虽然我仍在弄清楚如何处理这些表单,但我最大的担忧是 CSRF token 将如何发挥作用。例如,我应该使用 {% csrf_token %}里面只有我的一个 <form></form>标签,还是我应该把它放在两个地方?

此外,如果我确实以两种形式使用它,这是否会以任何方式影响我到服务器的 POSTS?目前,我在表单中获取数据(取决于点击的提交按钮)并以这种方式发布:

var data={
'username':$('#username').val(),
'password':$('#password').val(),
'csrfmiddlewaretoken': '{{ csrf_token }}'
}

$.post("/", signin_data);

最佳答案

csrf_token只要在服务器端通过 GET 访问两者,都应该放在这两种形式中。或 POST , 是的你 可以 使用相同的 csrf_token两种形式都没有任何问题。

你可以做类似的事情

<form action="." >{% csrf_token %}
{{form1.as_p}}
</form>

当您这样做时 data=form.serialize() , csrf token 在 data 中自动序列化ajax 请求。

原因倍数 {% csrf_token %}有效是因为 token 所做的只是提供用于验证表单请求来自有效(未篡改)用户 session 的信息。

关于django - 包含两种形式将如何影响我的 CSRF Token 使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17537562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com