如何在 Angular js 中设置 XSRF 保护?

2024-01-07

我正在使用 angularJs、资源和球衣休息 API 开发一个应用程序。我想在我的项目中实现xsrf保护。请建议一个更好的例子。我这里有一个例子,但它使用 ColdFusion。http://www.bennadel.com/blog/2568-Preventing-Cross-Site-Request-Forgery-CSRF-XSRF-With-AngularJS-And-ColdFusion.htm http://www.bennadel.com/blog/2568-Preventing-Cross-Site-Request-Forgery-CSRF-XSRF-With-AngularJS-And-ColdFusion.htm


与给定的示例不同,您需要做两件事:

  1. 当用户登录后加载主页时,您需要设置一个名为 XSRF-COOKIE 的会话 cookie。然后 AngularJS 将按照文档 (1) 中的说明向每个请求附加标头来完成剩下的工作
  2. 您需要通过比较 cookie 中的令牌和标头中的令牌来验证后端对 Rest API 的每次调用(例如使用拦截器)。您引用的页面上描述了逻辑

(1) 要利用此优势,您的服务器需要在第一个 HTTP GET 请求上在名为 XSRF-TOKEN 的 JavaScript 可读会话 cookie 中设置一个令牌。文档中的 CSRF 保护部分 https://docs.angularjs.org/api/ng/service/%24http#security-considerations

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

如何在 Angular js 中设置 XSRF 保护? 的相关文章

  • Jasmine 单元测试不等待承诺解析

    我有一个有角度的服务 它具有像这样的异步依赖项 function angular module app factory myService q asyncService function q asyncService var myData
  • 通过查询字符串传递“Bearer”时 SignalR 身份验证失败

    我想在 SignalR 中启用身份验证 而服务器托管在 ASP NET WebAPI 中 我使用 OAuth Bearer 身份验证 客户端是 AngularJS 在客户端 我最初通过 HTTP 标头传递 Bearer 令牌 它与 WebA
  • 平静的 POST 响应的“最佳”实践

    所以这里没有什么新内容 我只是想得到一些澄清 似乎在其他帖子中找不到任何澄清 我正在平静地创建一个新资源 说 books POST 与身体 title The Lion the Witch and the Wardrobe author C
  • 如何防止客户修改 firebase 数据(在没有后端的 Web 应用程序中)?

    我最近开始探索 firebase 作为我的 Angular JS 单页网站的身份验证解决方案 它看起来很完美 然而 从安全角度来看 我不太确定是否将逻辑保留在我的应用程序中的客户端 假设我对在我的网站上注册的客户进行了 isProfileC
  • Angular 计算 HTML 中的百分比

    我试图在 HTML 中显示百分比值 如下所示 td myvalue totalvalue 100 td 它可以工作 但有时它会给出一个很长的小数 这看起来很奇怪 如何四舍五入到小数点后两位 有更好的方法吗 您可以使用过滤器 如下所示杰夫约翰
  • AngularJS 将 ui-select 包装在自定义指令中

    我正在尝试将 ui select 包装在自定义指令中 https github com angular ui ui select https github com angular ui ui select this adminv2 dire
  • 使用 NodeJS、Express 和 Passport-ldapauth 进行 LDAP 身份验证

    我在使用标题中提到的工具 应用程序对 Active Directory 服务器进行身份验证时遇到问题 我正在使用测试AD环境发现here http www forumsys com tutorials integration how to
  • 关闭特定url上的AngularJS窗口

    我是 angularjs 的新手 所以这个问题对于经验者来说可能看起来很愚蠢 但我真的无法执行此操作 任何人都可以告诉我如何在到达特定网址后从 webview 返回到应用程序 就像我正在打开一个浏览器中的窗口用于支付过程 所以我需要的是 当
  • 项目组织和命名约定

    这在某种程度上是后续每个模块组件重复模块名称 https stackoverflow com questions 25005897 repeating module name for each module component问题 我们决定
  • 角度 ui-grid 自定义标题 html

    我正在尝试将 glyphicon glyphicon thlist 我可以单击并调用控制器函数 添加到默认标题的左侧 我采用了默认标头并尝试操纵它来执行此操作 默认标头位于 https raw githubusercontent com a
  • Spring MVC 中的 CSRF(跨站请求伪造)保护

    我对春季的 CSRF 跨站请求伪造 保护有点困惑 不 我有我的 jsp 我的控制器和一个 Web 服务 我想要做的是在 Web 服务级别验证令牌 如果令牌匹配 则运行 Web 服务 在我的例子中执行数据库插入 JSP file
  • WebAPI 和 Angular JS Excel 文件下载 - 文件损坏

    我正在 WebAPI 中生成 Excel 文件 我将其 存储 在内存流中 然后放入响应 如下所示 var result new HttpResponseMessage HttpStatusCode OK Content new Stream
  • 同一域上的多个 Django 站点 - CSRF 失败

    我有两个应用程序在同一域的不同端口上运行 都使用 csrf 中间件 当我登录其中一个应用程序时POST从另一个提交失败 我推测是因为SESSION COOKIE DOMAIN是一样的 我尝试改变SESSION COOKIE NAME 但是
  • Angular JS未知提供者错误

    删除 Bower components 并清理缓存后 我使用 Bower install 重新安装了依赖项 该应用程序无法加载并出现以下错误 未捕获的错误 injector unpr 未知提供程序 forceReflowProvider 这
  • 身份验证在不应该返回“401(未经授权)”时返回

    我第一次设置身份验证功能 在用户登录后得到了一些意外的结果 一位同事给了我一个具有工作身份验证的应用程序 以模仿我的应用程序 看起来我所做的一切都是正确的 我在前端使用 AngularJS 在后端框架使用 SailsJS 并且护照JS ht
  • Protractor addMockModule 附加参数不起作用?

    这看起来非常非常简单 但我不明白为什么这个简单的代码不起作用 我正在添加一个模拟模块来在 Angular E2E 测试中模拟我的 API 后端 我正在使用量角器 1 6 0 我需要将附加参数传递给模拟模块 根据 Protractor 文档
  • AngularJS 中“href”和“ng-href”的区别

    我都用过href and ng href我看不出它们之间的区别 为什么 Angular 有ng href属性 什么时候应该使用它 从文档中 https docs angularjs org api ng directive ngHref 使
  • Angular UI 路由器嵌套视图问题

    我在理解 Angular UI Router 嵌套视图的工作原理时遇到了一些问题 我的 stateProvider 看起来像这样 stateProvider state login url login views main template
  • ui-sref 和变量状态参数名称

    我想呈现一个链接 例如 a 其中州名myState和钥匙myKey是变量 有办法做到这一点吗 我发现自己处于同样的情况 我也无法完成这一点 尝试使用 ng click 移动代码 并在 ng click 函数内部使用 stage go htt
  • Angularjs 和 UI-Select:如何从代码中选择选项

    在 AngularJS 中我有一个ui select

随机推荐

  • 如何将 kinect 骨架移动到另一个位置

    我正在研究一种扩展方法 将一个骨架移动到 kinect 现场操作系统视图中的所需位置 我的代码接收要移动的骨骼和目标位置 我计算接收到的骨骼臀部中心与目标位置之间的距离以找到how much to move 然后在联合中应用该因子进行迭代
  • 无法在 Bigsur 上安装 mysql2 Gem

    我正在使用红宝石 3 0 1p64 并使用 macOS bigsur 11 04 mysql已安装并运行 捆绑安装要求我安装 mysql2 我正在尝试像这样安装 mysql2 gem sudo gem install mysql2 v 0
  • 在 ASP.NET 2.0 Web 服务中公开其他类

    考虑一个公开抽象类的 webmethod WebMethod public void Save AbstractEntity obj 有几个类继承自AbstractEntity like public class Patient Abstr
  • 如何知道r在幕后做什么

    作为 R 新用户 我很好奇当我们输入函数时 R 正在做什么 例如 我在类包中使用 knn 函数 我需要做的就是输入 knn 并通过训练和测试数据集进行定义 然后我得到的是测试数据的预测类别 然而 我很好奇是否有办法查看 knn 中的实际方程
  • 仅当单击按钮时显示图像

    刚刚开始学习 HTML 和 Javascript 我有以下代码 它有效 但是 因为我的身体中有一个 img 标签 所以在单击按钮之前它会尝试显示图像的占位符 我怎样才能阻止这个
  • 使用 IIS7 访问 ASP.Net MVC 项目的静态内容

    我在本地 IIS 7 上创建了一个网站 其根目录下有我自己的 ASP Net MVC 项目 除了静态内容之外 一切都工作正常 即将http localhost 8080 Content Site css http localhost 808
  • 表格视图单元格可扩展 iOS

    我想要一个仅包含单元格的表格视图 当您单击单元格时 它应该展开并显示单击单元格的更多信息 我已经看到了很多关于此的主题 但其中大多数都链接到苹果开发人员页面上的表视图动画和手势 这是以不同的方式实现的 他们使用标题部分 但我想使用由于布局原
  • 如何对超时的套接字执行 AcceptAsync?

    这是我现在所拥有的 Socket myNewSocket currentSocket Accept 这就是我想要的 Socket myNewSocket AcceptWithTimeout currentSocket timeoutInMi
  • 从文件夹中删除重复的 Outlook 项目

    issue 当我将项目从在线存档移至 pst 文件时 Outlook 2016 损坏 PST 文件已恢复 但许多项目 7000 被重复 5 次 有一系列项目类型 标准消息 会议请求等 我尝试过什么我查看了现有的解决方案和工具 包括 重复删除
  • 为什么我的 Android 应用程序中的 Azure 表存储数据加载速度缓慢?

    我已经使用 Azure 表存储数据创建了 Android 应用程序 每次我的应用程序 Azure 数据加载缓慢时 我都会打开 我的桌子mBranchListTable mClient getTable BranchList class my
  • XUL 的 jQuery?

    我在互联网上阅读并发现 jQuery 在 XUL 上工作正常 我的问题是 是否有专门为 XUL 设计的 jQuery 插件 还有其他专门为 XUL 制作的类似 jQuery 的库吗 我还没有在 XUL 上测试过 jQuery 我只是出于好奇
  • R - ggplot2 将日期作为 x 轴字符的问题

    我是 R 和 ggplot2 的新手 我不知道如何解决我尝试创建的图表的问题 这是图表目前的样子 我在 x 轴上有日期 但由于某种原因 它们不适用于年份 而只能按月和日排序 这是我正在使用的数据的屏幕截图 正如您所看到的 这里的顺序看起来是
  • 合并 PHP 关联数组

    我有多个arrays我正在努力merge他们 想象一下下面的代码 arr1 a array a b c arr2 a array d e f arr3 a array g h i arr1 b array a b c arr2 b arra
  • Java 数组存储值

    我试图存储在 for 循环结构上输入的值以供以后使用 但它只能在 for 循环结构内部被识别 我需要程序的其余部分识别存储的值 但不知何故我收到错误 找不到符号 public class TryArray public static voi
  • 将 2 列中的精确串联值分组?

    我有一个包含 2 列纬度和经度的表 并且想要对完全匹配进行分组 just tandem2 列上的值 表行 Points Table time lat long 113 2 1 5 8 114 2 1 5 6 Set as Group 115
  • IE7 导致“文本 - 空文本节点”的原因

    我正在使用 IE Web 开发人员工具栏来解决问题 列表项下方出现空白 我无法从逻辑上找出原因 使用网络开发工具栏 我看到在下面的示例 1 中 文本 Google 下方输出了一个 文本 空文本节点 具有讽刺意味的是 在第二个例子中 在 Go
  • Stylecop 配置文件在哪里?

    我已经通过 NuGet 安装了 Stylecop 我希望禁用一些规则 并且我知道这可以通过我读到的配置文件来完成 但是 我在任何地方都找不到该文件 并且似乎很少有文档描述在何处创建该文件 我该如何制作文件 Edit 由于这个问题几年后似乎仍
  • 如何禁用elasticsearch中的自动索引创建?

    我需要禁用一个索引的自动索引创建 但需要允许另一个索引 如何禁用 elasticsearch 仅针对特定索引自动创建索引 我试过 action auto create index false 在elasticsearch yml文件中 但它
  • 如何在grails中安装和使用httpbuilder插件

    如何在 Grails 中安装和使用 httpbuilder 插件 将 httpbuilder 0 5 1 添加到应用程序依赖项将导致错误 特别是 您会收到如下错误 java lang LinkageError loader constrai
  • 如何在 Angular js 中设置 XSRF 保护?

    我正在使用 angularJs 资源和球衣休息 API 开发一个应用程序 我想在我的项目中实现xsrf保护 请建议一个更好的例子 我这里有一个例子 但它使用 ColdFusion http www bennadel com blog 256