如何在angularjs和rails中保护所有JSON请求和响应......?

时间:2015-06-11 09:33:49

标签: ruby-on-rails json angularjs ruby-on-rails-4

我使用rails和angularjs构建了一个应用程序。当我尝试使用rails通过json请求访问数据表单数据库时,它会在控制台中显示所有响应数据。它可能会导致安全问题。那么有什么路由不在控制台中显示数据..?

1 个答案:

答案 0 :(得分:0)

JSON代表JavaScript Object Notation。在网页上运行的Javascript在客户端运行。

这意味着您在JS中编写并发送连接的任何代码都可以由客户端进行编辑和操作。这也适用于JSON。

如果您将客户端发送给他们,则无法阻止客户端查看受限数据。您应该考虑什么为什么您正在这样做。

您应该只发送他们应该有权查看的客户敏感信息(例如,只有他们的银行帐户详细信息,而不是每个人的详细信息)。您可以对用户进行身份验证和授权,以确保是这种情况。

您还可以考虑让一些基于AJAX的系统一次只发送部分敏感数据,这样就不会在一个请求中完整地公开它。

修改

我刚刚重新阅读了你的问题。

创建用户后rails的响应应该在模型上具有自定义as_json方法,该方法为该用户发送JSON ,不包括敏感信息。 例如:

def as_json(options = nil)
    defaults = { methods: :status, except: [:created_at, :updated_at, :password, :password_confirmation] }
    defaults.merge! options if options
    super defaults
  end

在回复中,请致电

@user.to_json