如何允许 a) 没有 CSRF 令牌的 HTTP 身份验证 + SSL 或 b) 需要 CSRF 令牌与设备?

发布于 2024-10-03 15:18:45 字数 326 浏览 3 评论 0原文

我有一个 Rails 3 应用程序,使用在服务器上运行的设备配置了用户注册。我允许人们通过网站登录服务器,还允许人们创建帐户并使用 Iphone 应用程序登录。

当人们使用Iphone应用程序时,我想支持这两个操作:

a)在没有CSRF的情况下注册帐户(这会导致任何安全问题)吗?

b) 使用受 SSL 保护的 http 身份验证登录

c) 登录后发送到服务器的任何 POST 请求均受 SSL 的 http 身份验证保护。

当用户访问网站时,我希望所有操作都需要 CSRF 令牌(这样用户就不会每次都输入用户名和密码)。

感谢您的帮助。

I have a Rails 3 app configured with user registration using devise running on a server. I am allowing people to login to the server through the website and also allowing people to create accounts and login using an Iphone App.

When people are using the Iphone app, I'd like to support these two actions:

a) Signup for account without CSRF (does this cause any security issues)?

b) Log in with http auth secured by SSL

c) Any POST requests to the server after logging in to be secured with http auth with SSL.

When the user is on the website, I want to require CSRF tokens on all actions (so that the user does not type username and password each time).

Thank you for your help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

隐诗 2024-10-10 15:18:45

您可以有选择地禁用控制器或单个操作方法上的 CSRF 令牌。

class StatsController < ApplicationController
  skip_before_filter :verify_authenticity_token
  ...
end

我实际上想做类似的事情,我会让 iPhone 使用不同的域名,并根据几个条件有选择地禁用 :verify_authenticity_token 过滤器。这只是为了让我们等待,直到我们能够启动并运行 OAUTH2 实现。

You can selectively disable the CSRF token on a controller or individual action methods.

class StatsController < ApplicationController
  skip_before_filter :verify_authenticity_token
  ...
end

I'm actually looking to do something similar, I'll have the iPhone use a different domain name and selectively disable the :verify_authenticity_token filter based on a couple of conditions. This is only to hold us over until we can get our OAUTH2 implementation up and running.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文