我正在用Django后端创建一个web应用程序,但是大部分的工作都是用Javascript完成的。我一直在与一些同事讨论用javascript而不是Django模板标记生成CSRF令牌是否安全。
从我到目前为止所做的研究来看,它看起来像是在CSRF_COOKIE中设置了csrfmiddlewaretoken表单字段中提交的值。
生成一个随机的32个字符串并使用javascript设置表单字段值和cookie是否不安全?
发布于 2014-07-12 11:30:58
发布于 2014-07-12 13:19:57
我真的很喜欢SilverlightFox的解释,但我想我应该添加一些评论。您的服务器至少已经涉及到第一个请求。利用这个机会从模板中设置一个javascript变量,并在页面的生命周期中继续使用它。
{% extends 'base.html' %}
<script>
window.csrf_token = "{% csrftoken %}";
</script>它避免了生成令牌客户端的复杂性,但仍然允许您对动态创建的任何表单使用令牌。
https://stackoverflow.com/questions/24707214
复制相似问题