Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何允许a)没有CSRF令牌的HTTP身份验证+;SSL或b)是否需要CSRF令牌和设备?_Iphone_Ruby On Rails_Devise_Csrf - Fatal编程技术网

Iphone 如何允许a)没有CSRF令牌的HTTP身份验证+;SSL或b)是否需要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令牌(这样用户就不会每次都键入用户名和密码)

我有一个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鼠标盖或嵌入图像)执行跨站点请求攻击。他们只是确保在发布表单时,表单是由站点上的用户发起的。