防止CSRF?

2024-03-19

我已经从这里看到了一些问题(stackoverflow)并且THIS http://www.codinghorror.com/blog/2008/10/preventing-csrf-and-xsrf-attacks.html发帖了,但我还有一些问题...

  1. 在帖子表单中使用隐藏值,并在帖子到达服务器时检查它。

    • 隐藏值可以很容易地被复制并发送,就像真实的值一样,“难以猜测”(如 md5)将无济于事。 (正确的?)
  2. 当您到达表单时设置 cookie 并将 cookie 值作为隐藏值发送。

    • 您可以轻松更改 cookie 值或使用相同的真实隐藏值发送与真实 cookie 完全相同的自定义 cookie。 (正确的?)
  3. 使用“超时”,POST 值不会达到太晚。

    • 因此,如果你很慢,当你尝试使用隐藏值设置所有内容时,你就会失败。如果你动作快的话,一定会成功的。 (正确的?)

我想受到有关 CSRF 的保护...但我到底该怎么做呢?


我发现防止 CSRF 问题的最简单方法是:

  1. 在服务器端,分配一个HttpOnly https://blog.codinghorror.com/protecting-your-cookies-httponly/使用随机(不可猜测的)令牌向客户端发送 cookie

  2. 使用该 cookie 值在表单上放置一个隐藏字段

  3. 表单提交后,确保隐藏字段值等于 cookie 值(在服务器端)

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

防止CSRF? 的相关文章

  • Django 中使用 Nginx 和 Gunicorn 时出现奇怪的 CSRF 错误

    背景 当我尝试访问 Django 管理面板时 我得到Forbidden 403 CSRF verification failed Request aborted 即使我禁用 CSRF 中间件 这会影响位于不同位置 使用不同浏览器的所有用户
  • 如何在 ASP.NET 中将 SameSite cookie 属性减少回 None?

    为了避免 CSRF 跨站点请求伪造 大多数浏览器 自 2019 年底以来 自动考虑任何未明确定义 SameSite 属性的 cookie 将被视为 Lax 而不是之前的默认值 None 最近 2020 年 2 月 自 Chrome 80 起
  • 登录页面是否需要防伪令牌?

    我不断看到在标准用户名 密码登录页面上放置防伪令牌的代码示例 甚至 Asp Net Web 项目模板也能做到这一点 为什么 唯一改变的系统状态是用户的登录状态 为了实现这一点 攻击者需要他们的用户名和密码 这意味着一切都已经受到最大程度的损
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • POST方法总是返回403 Forbidden

    我读过了Django CSRF 验证失败 https stackoverflow com questions 4547639 django csrf verification failed以及与 django 和 POST 方法相关的几个问
  • 相同域请求的 Origin 和 Host 标头

    我们有 RESTful JSON 端点来服务 AJAX 请求 希望支持跨源资源共享 我们正在锁定一切 以确保我们不必担心跨站请求伪造 CSRF 攻击 我们使用的部分方法是检查 Origin 标头是否存在 并验证它是否包含在已批准的 Orig
  • Flask 中 AJAX 身份验证的 CSRF 保护

    我想在网站上使用 AJAX 化登录和注册表单 到目前为止 我一直使用 WTForms 主要是为了它内置的 CSRF 保护 但对于这个项目 我觉得不值得 额外的抽象层 因此令人沮丧 对于一些应该漂亮的东西简单的 所以我遇到了这个片段 http
  • 在 ASP.NET MVC 后的 ajax 中包含 antiforgerytoken

    我在使用 ajax 时遇到 AntiForgeryToken 问题 我正在使用 ASP NET MVC 3 我尝试了以下解决方案jQuery Ajax 调用和 Html AntiForgeryToken https stackoverflo
  • 为什么 ValidateAntiForgeryTokenAttribute 允许匿名令牌?

    在 ASP NET MVC 中 ValidateAntiForgeryTokenAttribute 调用的验证逻辑允许匿名防伪令牌 即没有任何用户特定信息 例如 IIdentity Name 或 ClaimUid 的令牌 因此 如果未使用声
  • CSRF验证失败。请求已中止

    我尝试建立一个非常简单的网站 可以将数据添加到 sqlite3 数据库中 我有一个带有两个文本输入的 POST 表单 索引 html if top list ul b pre Name Total steps pre b for t in
  • ModSecurity CSRF 规则警报

    我已经安装了 Owasp ModSecurity 之后我的应用程序上的所有页面都有此规则警报 ModSecurity Warning Match of eq 1 against ARGS CSRF TOKEN required file e
  • 为什么 Rails 给出“无法验证 CSRF 令牌真实性”错误?

    我在 Rails 生产中收到 无法验证 CSRF 令牌真实性 的消息 我的问题是 它为什么要这样做 我该如何修复它 这是我的 Heroku 日志 一些值已匿名 2016 02 13T01 18 54 118956 00 00 heroku
  • 无会话 CSRF 保护(双重提交 cookie)

    从我的讲座开始owasp org https www owasp org index php Cross Site Request Forgery 28CSRF 29 Prevention Cheat Sheet他们推荐同步器令牌模式 并且
  • 如何扩展或重写 BeginForm 以包含 AntiForgeryToken 字段

    我正在读这篇文章 http weblogs asp net dixin archive 2010 05 22 anti forgery request recipes for asp net mvc and ajax aspx http w
  • 如何在 GAE 应用中最好地防止 CSRF 攻击?

    那么 防止 GAE 应用程序遭受 XSRF 攻击的最佳方法是什么 想象一下以下情况 任何人都可以查看用户的公共对象 并且请求中使用 db Model id 来确定要显示哪个对象 恶意用户现在拥有该 ID 恶意用户创建自己的对象并签出删除表单
  • Django 403 CSRF 令牌丢失或不正确

    我遇到过这个问题 但不幸的是仍然不知道如何解决它 表单呈现完美 我输入信息并收到 CSRF 错误 给出的理由是token missing or incorrect View def eventSell request id c c upda
  • 单页应用程序和 CSRF 令牌

    我需要使用带有 Rails CSRF 保护机制的单页应用程序 React Ember Angular 我不在乎 我想知道是否需要每次都创建一个令牌ApplicationController像这样 class ApplicationContr
  • 使用客户端指纹对 JWT 令牌进行编码?

    我想知道是否会是最佳实践使用客户端指纹作为 JWT 秘密进行编码 然而 我在 WWW 上找不到有关这个问题的任何内容 但到目前为止 我这样做是有意义的 我正在考虑使用 JavaScript 生成指纹客户端 并在每次调用时将其发送到 API
  • 设置配置项 (csrf) 在 Codeigniter 中不起作用

    我只想在我的几个控制器中打开 csrf 保护 所以我有 function construct parent construct this gt load gt library form validation this gt load gt
  • 保护登录和评论表单免受 CSRF 攻击

    我读过很多关于CSRF保护的文章 这个不错 http seclab stanford edu websec csrf csrf pdf 以及关于SO的各种问题 但它们似乎都没有足够的信息来回答我的问题 我正在开发自己的 CMS 我想保护我的

随机推荐

  • Retrofit2:预期为 BEGIN_ARRAY,但在第 1 行第 268 列路径 $[0].images 处为 STRING

    我知道这不是第一次有人问这个问题 但使用 Retrofit2 我找不到正确的解决方案来解决我的问题 我有一个包含字符串列表的对象 当我想将 JSON 响应转换为我的对象时 所有其他字段都可以 但在将字符串列表转换为我的列表时出现此错误 Re
  • 在 React 中使用共享 Worker

    我有一个后端应用程序 它不断地通过 Web 套接字向我的 React 应用程序提供事件 当收到特定事件时 应打开一个新的浏览器选项卡 该应用程序将由用户在多个选项卡中运行 因此我只需打开一个新选项卡一次 并防止所有正在运行的实例打开它 我尝
  • 如何使用 PHP 在 OS X 10.5.8 中启用 Sqlite3?

    我想在我的 MAMP 堆栈上安装 Symfony 框架 然而 当我尝试运行它时 Symfony 抱怨我需要 安装并启用 SQLite3 或 PDO SQLite 扩展 我不知道该怎么做 我安装了sqlite3 sqlite3 version
  • 通过网络复制文件(需要身份验证)

    是否有某种方法可以验证本地 非网络 用户身份 以便通过网络在 Net 中复制文件 net use不是一个选择 我似乎无法得到登录用户 http blogs msdn com shawnfa archive 2005 03 21 400088
  • Enum RadioButtonFor 编辑器模板设置值

    基于this https stackoverflow com questions 18542060 mvc4 enum and radio button list问题 我实现了一个 RadioButtonFor 编辑器模板 我工作得很好 但
  • text 或 ntext 数据类型上 REPLACE 的替代方案

    我需要更新 替换 datatable column 中的数据 该表有一个名为Content 我正在使用REPLACE功能 由于列数据类型是NTEXT SQL Server不允许我使用REPLACE功能 我无法更改数据类型 因为该数据库是第三
  • (Scp - 权限被拒绝(公钥)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试使用linux命令Scp获取服务器 xx xx xxx xx 的文件并将其放到我的桌面上 这是我的语法 scp email pr
  • Kubernetes docker 示例不公开端口

    当我探索 kubernetes 时 我从文档建议的基于 docker 的入门指南开始 该指南可以在这里找到 https github com GoogleCloudPlatform kubernetes blob release 1 0 d
  • NuGet 包如何包含 app.config 和 web.config 的转换?

    我正在尝试创建一个 nuget 包 它将添加 DLL 并在正确的配置文件中对其进行配置 该包可以在控制台 表单应用程序或 Web 应用程序中使用 因此我想更新适当的配置文件 app config 或 web config nu spec 文
  • Power Bi:如何参数化 Top N 视觉级别过滤器 [重复]

    这个问题在这里已经有答案了 Since PowerBI不支持Top N过滤page level 我想要使用 N 作为参数针对多个视觉效果立即更改它 是否可以 P S In 提供了更复杂情况的解决方案 最后本文 https www sqlbi
  • 为 Guzzle CookieJar 设置 cookie

    我正在 PHP 中为需要身份验证的网站进行单元测试 身份验证是基于 cookie 的 因此我需要能够将这样的 cookie 放入 cookie jar 中 user token gt 2c26b46b68ffc68ff99b453c1d30
  • 在android中添加横向方向和代码的最简单方法

    我是新来的android并想知道如何添加landscape模式在android谁能告诉我最简单的方法 我正在寻找一种非常简单的方法 如果您有此类问题 请查看下面的答案 谢谢 I have a simplest way to add a la
  • 远程创建 Akka Actor,无需新的 ActorSystem

    我已经仔细阅读了文档好几次了 http doc akka io docs akka 2 1 4 scala remoting html http doc akka io docs akka 2 1 4 scala remoting html
  • 实体框架 4.0 GetChanges() 等效项

    在 LINQ to SQL 中 您可以重写 SubmitChanges 并使用 this GetChangeSet 方法来获取所有插入 更新和删除 以便您可以在将更改提交到数据库之前进行最后一刻的更改 这可以在 EF 4 0 中完成吗 我看
  • RethinkDB:​​RqlRuntimeError:无法对序列序列执行括号

    给定表格中的以下文档 id d30aa369 99d6 4a40 9547 2cbdf0bb069a locations alerts person 200 person 300 name home alerts person 200 pe
  • 不会更新目标组件,但 工作正常[重复]

    这个问题在这里已经有答案了 我在让 Ajax 正常工作时遇到问题 在我这里的 xhtml 文件中 我使用 Ajax 来呈现一些启用或禁用的输入 并且它工作正常 然而 更进一步 我还使用 Ajax 来渲染包含的 xhtml 文件 其中包含其他
  • 处理 GUI 中未处理的异常

    我主要是为精通技术的人编写一个小工具 例如由于这些工具通常是随着时间的推移而改进的快速黑客 我知道将会出现未处理的异常 并且用户不会介意 我希望用户能够向我发送回溯 以便我可以检查发生的情况并可能改进应用程序 我通常做 wxPython 编
  • Activiti 6.0.0 完成任务时无法获取表单属性

    我是 Activiti 6 0 0 的新手 我创建了一个包含用户任务的进程 第二个用户任务有两个表单属性 但是当我完成第一个用户任务并尝试完成第二个用户任务时 表单属性不显示 我无法完成用户任务 下面是我的 bpm 流程
  • 如何获取生成BIGINT类型sql的原则?

    在我的架构中 我有许多需要的字段BIGINT 我使用 Symfony 中的以下命令 symfony doctrine build sql 生成我的数据库 字段总是以类型的形式出现int 我在架构中尝试了以下类型 int type integ
  • 防止CSRF?

    我已经从这里看到了一些问题 stackoverflow 并且THIS http www codinghorror com blog 2008 10 preventing csrf and xsrf attacks html发帖了 但我还有一