在发出GET请求时,我注意到我的csrf令牌被附加到我的url上。这安全吗?
Django 不会检查 GET 请求的 CSRF 令牌。如果您有任何带有method="get"
的表单,则应删除{% csrf_token %}
标记。
在执行此操作时,请仔细检查GET请求是否没有副作用(即它们不会更改任何数据(。如果不是,请保留 CSRF 令牌并更改视图/表单以改用 POST 请求。
如果 CSRF 令牌包含在 URL 中,那么它可能存储在某个地方,例如服务器日志。如果攻击者获得了令牌,那么他们可以使用它来绕过Django的CSRF保护。
有关更多信息,请参阅 Django CSRF 文档。