为什么CSRF token应该在meta标签和cookie中?

2023-12-22

需要将CSRF令牌名称和值放入其中吗标签使用 like:

e.g:

<meta content="authenticity_token" name="csrf-param" />
<meta content="4sWPhTlJAmt1IcyNq1FCyivsAVhHqjiDCKRXOgOQock=" name="csrf-token" />

我读过有关将 CSRF 值保留在 cookie 中的概念,但没有找到为什么要保留在其中 tag.


To 防止CSRF https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html您需要一个与请求一起提交的值,该值不能由恶意站点发送。身份验证 cookie 不适合,因为如果攻击者可以使浏览器向受害站点发送请求,则 cookie 将自动提交。

例如,通过 JavaScript 提交表单www.evil.com攻击用户的会话www.example.com:

<form method="post" action="https://www.example.com/executeAction">
    <input type="hidden" name="action" value="deleteAllUsers">
</form>

<script>document.forms[0].submit()</script>

在页面内存储反 CSRF 令牌是OWASP https://www.owasp.org/建议的解决方案用于防止其他网站提交表单,因为用户会话中的随机令牌无法被读取www.evil.com因为同源政策 http://en.wikipedia.org/wiki/Same-origin_policy阻止 JavaScript 开启www.evil.com阅读页面内容www.example.com.

这些令牌可以存储在页面内的任何位置。最常见的是,它会在隐藏的表单字段中,但它们也可以存储在HTML 5 数据属性 https://johnresig.com/blog/html-5-data-attributes/。似乎使用meta标签只是另一种存储方式,JavaScript 可以将其包含在页面提交的任何表单中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么CSRF token应该在meta标签和cookie中? 的相关文章

  • 使用基于 Cookie 的身份验证的 Capacitor iOS

    我正在使用 Capacitor v3 NextJS 静态导出和 Django 后端基于生产网站构建 iOS 应用程序 当前的后端身份验证方案通过 cookie 使用 Django 会话 并通过 cookie 设置 CSRF 令牌 应用程序可
  • Flex 和 crossdomain.xml

    我想知道将 crossdomain xml 添加到应用程序服务器的根目录是否存在任何安全问题 它可以添加到服务器的任何其他部分吗 您是否知道任何不需要服务器放置此文件的解决方法 谢谢 达米安 通过添加 crossdomain xml 主要的
  • 为什么用户名不能更改?

    我到处都读到 并在实践中看到 用户名不应该更改 当我问为什么时 给出的理由是 安全 我一直在寻找关于为什么更改用户名不安全的明确答案 但我似乎找不到答案 这里有哪位有安全经验的人可以回答这个问题吗 注 如果您不知道答案 请不要猜测 我自己也
  • 如何确保密钥是在 TPM 内部创建的?

    我需要 在客户端计算机上运行 exe 这将在 TPM 中创建密钥对 然后我将使用 TPM 生成的密钥对的公钥部分创建 CSR 我关心的是如何确保密钥是在 TPM 内部创建的 而不是由欺骗的 TPM 创建的 这将使私钥能够被迁移和复制 我听说
  • OpenIdConnect.nonce cookie 过多导致错误页面“错误请求 - 请求太长”

    我正在使用 OWIN OAuth 和 OpenId Connect 身份验证 Microsoft Owin Security OpenIdConnect 在 C ASP MVC Web 应用程序中 使用 Microsoft 帐户的 SSO
  • 如何获取dart中当前和调用函数的名称?

    C has System Reflection MethodBase GetCurrentMethod Name Dart 是否有类似的东西 但返回当前正在运行的函数以及调用当前运行函数的函数的名称的结果 我编写了一个简单的类 它提供当前函
  • cookie神秘重现的原因是什么?

    我正在开发一个使用 cookie 来存储会话信息的 Web 应用程序 我已经手动删除了会话 cookie 因为我正在处理代码的另一部分 我不需要登录会话 然而 在页面重新加载几次后 会话 cookie 神秘地重新出现 其中包括我之前出于测试
  • 使用 PHP 读取 cookie

    我正在尝试读取我用 javascript 设置的 cookie 特别是 jQuery Cookie 插件 然后我用 PHP 读取它以将其写入数据库 由于某种原因 cookie 是在页面加载时创建的 但在页面刷新之前并不 存在 这意味着我正在
  • 如何防止客户修改 firebase 数据(在没有后端的 Web 应用程序中)?

    我最近开始探索 firebase 作为我的 Angular JS 单页网站的身份验证解决方案 它看起来很完美 然而 从安全角度来看 我不太确定是否将逻辑保留在我的应用程序中的客户端 假设我对在我的网站上注册的客户进行了 isProfileC
  • Laravel htmlspecialchars() 期望参数 1 是我的项目中给出的字符串、对象?

    所以我正在尝试编写一个简单的网站表单 但它有这个 htmlspecialchars 错误 我尝试制作 message 但没有成功 有同样的错误 这是我的控制器
  • 如何在 Angular 5 中添加规范链接

    如何在 Angular 5 中动态添加规范链接 面对同样的问题 我四处搜索并找到了有关如何执行此操作的指南 https www concretepage com angular angular title service and canon
  • 使用Apple80211 api时如何知道OPEN、WPA、WPA2、WEP等安全类型?

    Cydia中的Wifi WiFi FoRum等wifi扫描应用可以知道安全类型 使用 Apple80211 api 时 应用程序如何知道 OPEN WPA WPA2 WEP 等安全类型 CAPABILITIES 的值为 1057 1025
  • 当SESSION_COOKIE_SECURE = True时如何在HTTP中获取一些用户身份信息

    以下是我正在开发的网站的简短描述 公共页面可以通过 HTTP 或 HTTPS 访问 其他一些页面 认证页面 账户详情页面等 需要通过HTTPS访问 Apache2 负责进行相关的 HTTP 到 HTTPS 链接重定向 我使用标准 Djang
  • 同一域上的多个 Django 站点 - CSRF 失败

    我有两个应用程序在同一域的不同端口上运行 都使用 csrf 中间件 当我登录其中一个应用程序时POST从另一个提交失败 我推测是因为SESSION COOKIE DOMAIN是一样的 我尝试改变SESSION COOKIE NAME 但是
  • 如何在 JASPIC 中保存经过身份验证的用户?

    我开发了一个安全认证模块 SAM 并实现了validateRequest方法 我还有一个简单的 Web 应用程序配置为使用此 SAM In my validateRequest方法 我检查 clientSubject 并设置一个Caller
  • 谷歌应用程序引擎java上的HttpOnly cookies

    有人知道我如何在应用程序引擎上使用 httponly cookie 进行会话和 cookie 吗 在 Cookie 类的 javadoc 中 http java sun com javaee 6 docs api javax servlet
  • AJAX 安全问题

    我希望能够解决一些关于 AJAX 安全性的问题 这是我试图理解的一个场景 假设我正在使用 AJAX 向页面请求一些半敏感材料 例如 我将把用户的 ID 传递给一个 php 文件 并返回一些关于他们自己的信息 现在 是什么阻止人们模拟此 Ja
  • 我可以通过什么方式混合 jQuery 和 vanilla JavaScript

    我有一个用普通 JavaScript 编写的 Web 应用程序 我想用 jQuery 动画来增强它 并使用我在各种 jQuery 插件中找到的一些功能 例如上传 http www uploadify com 可以通过什么方式将 jQuery
  • 有关 CredEnumerate 的帮助

    作为后续this https stackoverflow com questions 199518 how to programatically add mapped network passwords winxp我希望有人可以帮助解决这个
  • java Web应用程序中的日期转换

    String date1 13 03 2014 16 56 46 AEDT SimpleDateFormat sdf new SimpleDateFormat dd MM yyyy HH mm ss z sdf setTimeZone Ti

随机推荐

  • ARMv6 汇编中=label(等号)和[label](括号)有什么区别?

    我正在跟随烘烤圆周率 http www cl cam ac uk projects raspberrypi tutorials os ok05 html剑桥大学的课程 其中基于 ARMv6 指令集构建了一个简单的操作系统 针对的是 Rasp
  • 无法从大括号括起来的初始值设定项列表转换为 std::vector

    我看到了很多类似的问题 但我认为我没有看到完全相同的问题 这是非常基本的 我的讲师的一些代码无法编译 我将问题提炼到这个测试用例中 void foo vector
  • Firebase Auth 在 API 15 和 16 上崩溃,调用 FirebaseAuth.signInAnonymously() 时出现 NullPointerException

    根据 Firebase 支持页面 我在提交官方错误之前在此发布 希望 Firebase 团队的有人能够提供帮助 我的 Android 应用程序使用 Firebase 匿名身份验证 我一直在使用模拟器对旧版 Android 版本进行一些测试
  • htaccess 中的 Hash(#) 标签重定向

    我想将旧网站网址重定向到新网站网址 我在 htaccess 文件中编写了重定向规则 但问题是 我的旧网址在网址参数之间包含一个哈希标签 Redirect de home de about blog https www example com
  • 通过 WCF 发送 Tuple 对象?

    Is the System TupleWCF 的数据契约序列化器支持的类 即 我可以通过TupleWCF 调用的对象和 或将它们作为结果的一部分或全部接收 I found 这一页 http msdn microsoft com en us
  • 有哪些不同的 Eclipse 可用快捷键?

    我想知道不同的 Eclipse 快捷方式可用 就像我们想写这篇文章时一样 System out println 然后我们简单地写syso并击中ctrl space然后我们得到 System out println 我不需要像复制 ctrl
  • Magento 从订单中获取商品 SKU 列表

    我知道 Magento 订单可以通过以下方式获得 orders Mage getResourceModel sales order collection 那么如何获取每个订单的信息呢 每个订单我最需要的信息是 购买的 SKU 购买日期 每件
  • 在输入类型日期中键入日期时自动连字符,Angular 5 [重复]

    这个问题在这里已经有答案了 在输入日期时 如何在输入类型日期中获得自动连字符 例如我想要输出这样的东西 如果我想输入日期 2018 06 18 在 2018 年之后输入时 应自动显示 并附加到 2018 年 并且 ts 上的变量绑定应为 2
  • 类型错误:只能将元组(不是“str”)连接到元组错误

    只是想创建一个元组来添加以进行我的主要编程 无论如何 这是我的代码 print I have a few things to finish my exam but i might need more exam Brain Computer
  • 从日期时间中提取小时 (SQL Server 2005)

    我可以使用提取月份和日期Day Date Month Date 我无法提取小时数HOUR Date 我收到以下错误 HOUR is not a recognized built in function name 如何提取小时数 SELECT
  • Swift:如何处理内存中的大量纹理

    我的游戏中有很多角色 因此我有很多纹理 当加载纹理图集 包含大约 5 个不同的图像纹理 时 它会增加内存使用量并保持该数量 因此 更多的纹理只会不断推动该数字不断上升 直到有时应用程序崩溃 我不需要一次需要所有角色 我怎样才能在需要时加载一
  • 如何处理 Moose 中的可选参数?

    我目前正在使用 Moose 包开始使用 Perl OOP 编译器抱怨它 无法修改 Parser pm 第 16 行的非左值子例程调用 我不太明白为什么我不能只分配一个新对象 我想有更好或更有效的方法来使用 Moose 执行可选参数吗 usr
  • Mercurial/Kiln + MSBuild + MSTest 持续集成的建议

    我们将源代码存储在 Kiln Mercurial 存储库中 我们使用 MSBuild 来构建我们的产品 并且我们有利用 MSTest Visual Studio 单元测试 的单元测试 存在哪些解决方案来实现持续集成机器 即构建机器 对此的要
  • 正确的 JSONP 响应

    我正在本地尝试让 JSONP 给出正确的响应并将其传递到我的回调函数 jsonp callback 中 使用以下代码 如何设置 JSONP https stackoverflow com questions 9519209 how do i
  • 是否可以告诉 Visual Studio 不要将源文件视为“组件”? [复制]

    这个问题在这里已经有答案了 可能的重复 是否有一个属性可以添加到类中 以便将其作为代码进行编辑 而不是在设计器中进行编辑 https stackoverflow com questions 230146 is there an attrib
  • Django 保存覆盖 ImageField 处理

    在我遇到问题之后这个线程 https stackoverflow com questions 24373341 django image resizing and convert before upload 当我使用 Django Admi
  • 使用momentjs检查该时间范围是否与其他时间范围冲突

    场景1 Time range 1 2016 12 06 11 00 to 2016 12 06 12 00 Time range 2 2016 12 06 10 00 to 2016 12 06 13 00 time range 1 is
  • Chrome 无法访问

    运行单元测试时 我收到以下错误消息 谁能告诉我这是什么原因造成的以及如何解决 错误 铬无法到达 驱动程序信息 gt chromedriver 0 7 platform Windows NT 6 1 x86 警告 服务器未提供任何堆栈跟踪信息
  • jQuery Mobile 和 Google 地图不可见

    好吧 对于 jQuery Mobile 我是个菜鸟 但我正在入门 要点是一个两页的移动网站 第一页是一个简单的表单 用户可以在其中选择几个选项 提交表单后 它们会被重定向到第二页 其中包含 地图画布 但由于某种原因 下一页只是空白 有时 当
  • 为什么CSRF token应该在meta标签和cookie中?

    需要将CSRF令牌名称和值放入其中吗标签使用 like e g 我读过有关将 CSRF 值保留在 cookie 中的概念 但没有找到为什么要保留在其中 tag To 防止CSRF https cheatsheetseries owasp o