Tag: csrf

Rails 4.如何将authenticity_token添加到通过partial呈现的表单?

在我的rails应用程序中,在所有页面上,在head部分中有以下2个元标记: 在未使用部分呈现的表单上,存在隐藏的authenticity_token字段 但是如果我只是加载这样的表单,这个字段就会丢失: 这是预期的行为吗? 我应该手动添加authenticity_token吗?如果是,我该如何validation它? 编辑: 共享/ _comment_form.html.erb { :onsubmit => “validateCommentForm(event)” }, remote:true) do |f| %> 此外,将到该表单仍设法发布信息并创建新记录…

RESTful应用程序中的XSRF

我是一名ASP.NET开发人员,试图学习Rails和RESTful方法。 为了理解,我打算编写一个电子邮件客户端,它将对服务器进行RESTful GET调用以获取电子邮件,并发送POST以发送电子邮件。 要遵循哪些最佳实践(通用和/或特定于Rails),以便上述应用程序不会暴露任何XSRF漏洞。

为什么Safari会导致Rails CSRFexception?Chrome不是?

我想通过iframe中的AJAX请求在我的Rails 4应用程序中创建会话。 在iframe中,我通常使用属性remote: true包含一个新会话的表单,并在表单正文中包含以及在布局的头部包含 。 Chrome发布此表单并创建会话没有问题。 在相同条件下,Safari会导致CSRFexception。 为什么会发生这种情况,我该怎么做才能阻止它呢? 据我了解,这不是CSRF必不可少的情况,因为没有会话劫持,但我仍然担心要关闭它。 Chrome版本:31.0.1650.63 Safari版本:7.0.1

如何在发送Restful POST / PUT API之前使用rails3.2.x获取CSRF令牌,而没有来自服务器端的任何表单/ UI?

我知道rails默认从rails3提供CSRF保护。 但我的Web应用程序是单页面应用程序,所有通信都依赖于ajax。 那么,如何在每个ajax调用之前从服务器获取CSRF令牌? 或者我能做的就是取消CSRF保护,对吧? 注意:我们不使用任何rails视图来生成网页,甚至是主页,因此在.html或.erb中放置“”的解决方案无效 。我们在一个页面内使用javascript框架。 我的环境:rails3.2.3,devise2.0.4,dojo1.7.2

Rails 3 protect_from_forgery无法正常工作?

我正在使用Rails 3.0.2,默认情况下在application_controller.rb中有protect_from_forgery 。 我想触发一个InvalidAuthenticityToken 。 要做到这一点,我已将此javascript添加到我的页面: $(‘input[name=authenticity_token]’).val(‘aaa’) 使用Firebug检查DOM我看到authenticity_token隐藏字段已正确更新。 如果我提交表单并从服务器检查日志,我会看到相对参数已正确设置为’aaa’。 我希望在处理请求时获得InvalidAuthenticityToken ,因为它是正确的! 这怎么可能?

如何绕过Rails 3中的protect_from_forgery获取Facebookcanvas应用?

我有一个Rails 3 Facebookcanvas应用程序。 当它加载时,它会给我一个无效的真实性令牌错误,并显示Facebook发送到我的应用程序的signed_request参数。 有没有办法绕过来自facebook的signed_request的’protect_from_forgery’? 谢谢! 蒂姆

firefox中的rails csrfvalidation

我有一个使用Devise创建的站点使用Devise进行身份validation。 它在Chrome中运行得非常好,但在Firefox中我无法登录。我只能在日志中看到一条消息: WARNING: Can’t verify CSRF token authenticity并且登录屏幕返回时没有任何错误消息。 有人能给我一个暗示在哪里照顾正在发生的事情吗?

如何确保从CSRF保护Rails API?

我一直在使用REST API开发Rails应用程序,以便从移动应用程序进行访问。 它运作得很好。 当用户从移动应用程序登录时,他获得了auth_token ,这是他在将来对API的请求中使用的。 问题是,通过转到路径/ api / v1 / …也可以从Web访问API,因此必须保护它不受CSRF的影响。 我有BaseApiController类,它inheritance自ApplicationController ,其中protect_from_forgery “enabled”。 这是一个例子: class Api::V1::BaseApiController < ApplicationController # … end class ApplicationController < ActionController::Base protect_from_forgery # … end 现在,当我使用auth_token对我的API auth_token非GET请求时,我的请求成功完成,但在日志中我可以看到着名的WARNING: Can’t verify CSRF token authenticity 。 如果我从我的BaseApiController删除protect_from_forgery ,我没有得到任何警告(显然),但是我的API容易受到CSRF攻击(我做了一个简单的HTML表单,当没有protect_from_forgery时成功地跨域更改数据)。 我的问题是:如何确保我的API保持安全,但在执行非GET请求时也会删除警告? 这是我提出的解决方案之一,但它看起来更像是一个黑客并执行一个额外的数据库查询: class Api::V1::BaseApiController 0 end end 关于该项目的更多细节:Rails 3.2.14,Devise,AngularJS。 该项目的源代码可以在这里找到。

Devise中的InvalidAuthenticityToken :: SessionsController#destroy(已经注销后退出)

我正在使用Devise 3.2.0进行身份validation,并在执行以下操作时发现问题: 标签1:登录应用 选项卡2:转到应用程序中的任何页面 选项卡2: 退出 (成功) 选项卡1: 退出 (失败 – 请参阅下面的例外情况) 提出例外: ActionController :: Devise中的InvalidAuthenticityToken :: SessionsController#destroy 在开发日志中,我看到: 无法validationCSRF令牌的真实性 堆栈跟踪的前三行是: ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken): actionpack (4.0.0) lib/action_controller/metal/request_forgery_protection.rb:163:in `handle_unverified_request’ actionpack (4.0.0) lib/action_controller/metal/request_forgery_protection.rb:170:in `handle_unverified_request’ devise (3.2.0) lib/devise/controllers/helpers.rb:198:in `handle_unverified_request’ 如何确保连续退出不会引发exception?

无法在rails中validationCSRF令牌的真实性

我正在使用PaypalAdaptive。 它正确发送ipn_notification。 ipnNotification动作方法如下 – def ipn_notification ipn = PaypalAdaptive::IpnNotification.new ipn.send_back(request.raw_post.to_json) print “=====================request.raw_post#{request.raw_post}==============” if ipn.verified? PaymentMailer.notify_unknown(request.raw_post).deliver else logger.info “IT DIDNT WORK” end render :nothing => true end 但它返回错误 WARNING: Can’t verify CSRF token authenticity rails 对此问题有任何帮助。