【问题标题】:allow secure form data to posted to my rails api允许将安全表单数据发布到我的 rails api
【发布时间】:2011-09-15 17:13:51
【问题描述】:

我正在创建一个可以帮助企业的 Rails 应用程序。这些企业拥有数千名员工,他们需要在此应用上使用用户帐户。

我希望企业能够在他们的本地 Intranet 上实现一个表单,用户可以在他们想要注册我的应用程序时提交该表单。这个表单向我的 Rails API 发布了一些关于他们当前登录用户的半敏感字段,例如他们的姓名和电子邮件地址,这些字段将由他们的服务器端代码填充。

我可以使用这些信息来帮助用户注册我的网站,并确定他们实际属于哪个企业。但是,表单信息和 API 密钥需要加密,以避免任何数据被盗或企业被欺骗。

有哪些加密方法可以在各种不同的语言和框架上实现,并且为企业实现最少的麻烦?

使用公钥和私钥加密的 OPEN SSL 似乎是一个不错的选择,但这确实需要一些密钥交换和创建,并且可能会变得复杂。有更简单的选择吗?

【问题讨论】:

    标签: ruby-on-rails security api https openssl


    【解决方案1】:

    为什么不让他们通过 TLS/SSL 发布到您的网站?他们可以包括他们的 API 密钥。 SSL 是尽可能跨平台和跨语言的。任何体面的服务器端语言都可以发出 HTTP 请求,因此如果您希望他们从后端发送请求,而不是直接从表单发送请求,这很容易。

    【讨论】:

      【解决方案2】:

      您应该使用 SSL 来保护传输层以及内置的 Rails 表单保护(假设您可能会使用自己的表单)。假设这是 Intranet,您可以生成 SSL 证书并通过 https://

      运行您的 Rails 应用程序

      编辑1: 您还可以使用 OAuth/OpenID 推出完整的 API 来验证用户并授权其他应用程序。这完全取决于您是否拥有整个数据、用户和生态系统。

      【讨论】:

      • 如果你说的内置Rails表单保护是针对CSRF保护的,那他就不能用了。这必须在客户端实施。他没有生成表单(CSRF 保护所需要的),他只是提供后端 API。
      • 不知道一个人的技能组合我只是列出所有可用的可能性。但你的评论是正确的。我会更新我的答案以包含其他选项。
      猜你喜欢
      • 2011-01-21
      • 2018-12-28
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多