暴露管理/超级用户代码的技术

时间:2014-01-05 04:07:07

标签: ruby-on-rails security backbone.js ruby-on-rails-4 marionette

在构建单页面应用程序时,在我使用Backbone w / Marionette的示例中,如何处理代码的管理/超级用户部分。例如,如果我构建一个具有可以删除用户的管理部分的站点,从财务角度管理帐户详细信息等,从技术上讲,攻击者可以查看代码。此外,攻击者可以从视觉角度看待预编译模板。虽然我知道你可以压缩代码/混淆,但这真的不是一个解决方案。在开发SPA时,这只是一个被认为是陷阱的事情吗? IE只需要确保API是安全的等等。如果某些东西不安全,本质上已经为潜在的攻击者提供了路线图......

1 个答案:

答案 0 :(得分:2)

接口的代码真的不重要:无论如何它都是javascript,所以恶意用户可以构建自己的,或者只是生成所需的API调用。

此外,您唯一能够提供“路线图”的是API端点,这些端点往往容易猜测(例如,管理用户通常会通过“用户”端点)。此外,这些端点通常是已知的:用户可以通过点击“用户”端点来编辑自己的帐户,而管理员可以编辑所有用户。 API调用将是相同的(或非常相似),并且将在服务器上验证凭证/授权(理论上,攻击者无权访问)。

您的问题接近于“如何通过默默无闻来实现安全性?”。我知道这不是你所要求的,但它并不遥远。攻击者无法看到管理员代码路径或API调用,因此不存在任何特殊问题。

但正如你在问题中所说,你绝对必须验证/授权服务器上的所有内容。如果您不将来自用户的所有数据视为敌意或被篡改,那么您将度过难关......

希望这有帮助!