django - Django 在 url 中显示 csrf 中间件令牌是否安全?
问题描述
在发出 GET 请求时,我注意到我的 csrf 令牌被附加到我的 url。这安全吗?
解决方案
Django 不检查 GET 请求的 CSRF 令牌。如果您有任何带有 的表格method="get"
,则应删除该{% csrf_token %}
标签。
当您这样做时,请仔细检查 GET 请求是否没有副作用(即它们不会更改任何数据)。如果不是,则保留 CSRF 令牌并更改视图/表单以使用 POST 请求。
如果 CSRF 令牌包含在 URL 中,那么它可能存储在某处,例如服务器日志。如果攻击者获得了令牌,那么他们可以使用它来绕过 Django 的 CSRF 保护。
有关更多信息,请参阅Django CSRF 文档。
推荐阅读
- python - 如何在 readthedocs Sphinx build 中跳过 Python 源文件
- arrays - 在代码内部创建引用表或数组
- android - 如何在 Color.parseColor() 中设置透明色
- php - Laravel 迁移到 db_{tables}?
- kubernetes - Istio 将常规服务解释为他因此抛出端口错误
- sql - 循环访问 Access SQL 中的列
- graph - 如何重新分配图形元素以最大化可读性?
- c# - 有没有办法在不指定类型参数的情况下访问嵌套在泛型类中的类?
- javascript - React 应用程序转换为 react-native - react-redux 和 react-thunk 的问题
- python - 在 Django Web 框架中使用 TMDb API 检索数据库中电影的海报