问题标签 [csrf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
257 浏览

django - 为什么在启用 csrf 中间件的情况下访问 wap django 应用程序时出现 403 错误?

有任何想法吗?从桌面浏览器访问时,一切正常。

0 投票
2 回答
6906 浏览

security - 在 Spring WebFlow 应用程序中防止跨站点请求伪造

我正在寻找一种(希望是直截了当的)方法来将CSRF保护添加到基于 Spring WebFlow 2 构建的应用程序中。

一种可以很好地迁移到 Spring WebFlow 3(发布时)的方法是首选。

0 投票
2 回答
545 浏览

ruby-on-rails - CSRF 保护和跨站表单访问

我正在从事跨站点身份验证(某些域具有通用身份验证)。所以我想从其他人那里向主域发送身份验证数据(登录名、密码)。

我应该如何使用 protect_from_forgery以及如何检查是否从有效域接收到数据?

我现在想的是关闭protect_from_forgery会话控制器并检查接收数据的域名。

但也许我不仅可以为一个域配置 CSRF 保护?

0 投票
1 回答
4599 浏览

php - ajax 请求的安全令牌问题

在构建应用程序时,我使用令牌来防止对表单的攻击

每次呈现表单时,它都会获得一个新的ONE TIME安全令牌,我将其作为隐藏字段包含在表单中。此令牌也存储在会话中。

发送表单时,会根据会话中的令牌验证令牌,以确保表单是合法的。这适用于标准页面。

使用 Ajax 发送表单时的问题 ,一个页面上可能有多个,一旦您发送其中一个表单,则该令牌对于其他表单作为一次性令牌无效。

有人对此有建议吗?或者每次会话生成一个令牌并使用它而不是每次发送表单时都使令牌无效是否足够安全?

0 投票
2 回答
259 浏览

php - 为了保护表格,我什么时候发行令牌?

所以,我有一个表单,让它更安全一点,并可能有助于防止 CSRF 攻击我想在隐藏字段中添加一个随机令牌值,该值也存储在我的会话数据中的服务器端。

我应该什么时候发行新的令牌?履行?每页加载哪里有什么表格?每个会话?成功提交表单后,我可以立即使其无效,但我想知道何时生成一个。

如果用户打开一个单独的窗口但提交第一个表单(现在被覆盖的值),我问如果我按表单或按页面发布它,我是否不会冒重复令牌值覆盖现有(有效)令牌的风险?

0 投票
1 回答
630 浏览

java - 在 Google App Engine 上运行的 GWT 应用程序是否受到 CSRF 保护

我正在开发一个在 Google App Engine 上运行的 GWT 应用程序,并且想知道我是否需要担心跨站点请求伪造或者是否会自动为我处理?

对于每个需要身份验证的 RPC 请求,我都有以下代码:

我找不到任何有关如何UserService检查身份验证的文档。依赖上面的代码就足够了吗,还是我需要更多?我是这方面的初学者,但据我所知,为了避免 CSRF 攻击,一些策略是:

  1. 在请求有效负载中添加身份验证令牌,而不仅仅是检查 cookie
  2. 检查 HTTP Referer 标头

我可以看到我从 Google 设置了带有 SID 值的 cookie,但是我无法从有效负载中的序列化 Java 对象中判断是否传递了令牌。我也不知道是否使用了Referer 标头。

那么,我是否担心没有问题?如果不是,这里最好的策略是什么?这是一个足够普遍的问题,必须有标准的解决方案......

0 投票
2 回答
728 浏览

django - django:升级到 1.2 后 CSRF 引发 403 虽然我没有启用 CSRF 保护

我刚刚升级到 Django 1.2,我正在尝试运行我的项目。登录后我得到

这很奇怪,因为我之前没有启用 CSRF 保护。我是否必须配置其他东西才能让我的项目工作?

0 投票
2 回答
6771 浏览

asp.net-mvc - ValidateAntiForgeryToken 盐值的运行时加载

Salt考虑使用指令中的参数的 ASP.NET MVC 应用程序[ValidateAntiForgeryToken]

这种情况下,该应用程序将被许多客户使用。Salt在编译时拥有已知信息并不是非常可取的。

当前的策略是在 web.config 中定位 Salt 值。

这会导致编译时异常,表明Salt在编译时必须是 const。

属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式

如何修改应用程序以允许运行时加载,Salt以便不必为每个客户重新加盐和重新编译应用程序?

考虑到Salt不会经常更改(如果有的话),从而消除表单无效的可能性

0 投票
2 回答
3093 浏览

jquery - 使用 JQuery 提交表单时返回 struts2 invalid.token

我继承了一些代码,现在我必须在其中添加 CSRF 预防,并尝试使用 struts2 tokenSession 拦截器来执行此操作。我正在使用 struts2 令牌标记向我的表单添加一个令牌,如下所示:

在我的 javascript 函数中,我正在添加/删除一些验证规则(取决于所需的操作,并提交表单:

我已经拦截了请求并且正在添加一个令牌,但是 struts2 tokenSession 拦截器正在返回 invalid.token。没有此拦截器,代码按预期工作。(未发布 struts2 xml 文件 - 如果需要,将发布相关部分)。我还在其他使用基本 html 提交按钮(即不通过 javascript 或 jquery)的页面中使用了 tokenSession 拦截器,这也可以按预期工作。是什么使令牌无效?

NB 我继承的项目使用了标准 html、struts2 标签、ExtJS 和 JQuery 的奇怪混合。我会在某个时候清理它,但目前我只需要让 tokenSession 拦截器按原样在代码中尽快工作(因为我必须对数百页应用类似的修复......)。

非常感谢任何帮助/指针/提示/等!

问候,

约翰

0 投票
2 回答
5283 浏览

jquery - 我的 jquery AJAX POST 请求无需发送真实性令牌(Rails)即可工作

Rails 中是否有任何规定允许来自站点的所有 AJAX POST 请求在没有authentity_token 的情况下通过?

我有一个调用控制器方法的 Jquery POST ajax 调用,但我没有在其中放入任何真实性代码,但调用成功。

我的 ApplicationController 确实有“request_forgery_protection”,我已经改变了

在我的环境/development.rb 中为 false

我还搜索了我的代码以确保我没有超载 ajaxSend 来发送真实性令牌。

是否有某种机制可以禁用检查?现在我不确定我的 CSRF 保护是否有效。

我正在使用 Rails 2.3.5。

为清晰起见更新:

我有一个链接,然后有一个调用上述函数的'href: