Iphone 如何允许a)没有CSRF令牌的HTTP身份验证+;SSL或b)是否需要CSRF令牌和设备?
我有一个Rails 3应用程序,在服务器上使用Desive配置了用户注册。我允许人们通过网站登录到服务器,也允许人们创建帐户并使用Iphone应用程序登录 当人们使用Iphone应用程序时,我想支持以下两个操作: a) 在没有CSRF的情况下注册帐户(这是否会导致任何安全问题) b) 使用SSL保护的http身份验证登录 c) 登录后对服务器的任何POST请求都将使用http auth和SSL进行保护 当用户在网站上时,我希望在所有操作上都需要CSRF令牌(这样用户就不会每次都键入用户名和密码)Iphone 如何允许a)没有CSRF令牌的HTTP身份验证+;SSL或b)是否需要CSRF令牌和设备?,iphone,ruby-on-rails,devise,csrf,Iphone,Ruby On Rails,Devise,Csrf,我有一个Rails 3应用程序,在服务器上使用Desive配置了用户注册。我允许人们通过网站登录到服务器,也允许人们创建帐户并使用Iphone应用程序登录 当人们使用Iphone应用程序时,我想支持以下两个操作: a) 在没有CSRF的情况下注册帐户(这是否会导致任何安全问题) b) 使用SSL保护的http身份验证登录 c) 登录后对服务器的任何POST请求都将使用http auth和SSL进行保护 当用户在网站上时,我希望在所有操作上都需要CSRF令牌(这样用户就不会每次都键入用户名和密码)
感谢您的帮助。您可以在控制器或单个操作方法上有选择地禁用CSRF令牌
class StatsController < ApplicationController
skip_before_filter :verify_authenticity_token
...
end
class StatsController
事实上,我希望做一些类似的事情,我会让iPhone使用不同的域名,并根据几个条件选择性地禁用:verify_authenticity_令牌过滤器。这只会让我们在OAUTH2实现启动并运行之前停滞不前。详细说明,
skip\u-before\u-filter:verify\u-authenticity\u-token,:id=>:skip\u-csrf?
,然后只需在应用程序控制器上实现skip\u csrf?
,并满足任何条件即可。csrf令牌与键入用户名和密码无关。他们只是确保您不能对登录用户(比如,使用特制的Javascript鼠标盖或嵌入图像)执行跨站点请求攻击。他们只是确保在发布表单时,表单是由站点上的用户发起的。