【问题标题】:Security in backbone.js?Backbone.js 中的安全性?
【发布时间】:2013-04-10 19:10:27
【问题描述】:

我是咖啡脚本 (javascript) 世界的新手。目前正在构建我的第一个backbone.js 应用程序,它通过SSL 与Rails 后端通信。

多年来,我多次被告知 “JavaScript 安全性很糟糕,所以如果可能,请在服务器端执行所有逻辑。” 我已经掌握了服务器端安全性,但是客户端呢?

我的一些主干模型可能包含用户希望保护的信息。

更新 1:作为对 @Nupul 的回应,我希望保护 (integer, string, datetime) 的元组。不会危及任何远程系统。

更新 2:所以唯一需要注意的是向主干提供相同的数据,在无 js 的 html 视图中提供安全的数据?

【问题讨论】:

  • 我不确定您首先要保护什么...模型中的数据只是在客户端操作的可变数据/内容...您传输的内容可​​能通过 SSL 所以我不确定你真正想要保护什么?如果这很令人担忧,请尝试加密模型中的所有内容,但您很快就会意识到这是一种矫枉过正、性能低下且可能不值得 :)
  • @Alex:回复:更新 2:是的,没错。
  • “JavaScript 安全很烂”的说法很蹩脚。语言不会使任何事情变得安全或不安全。
  • @rFactor 可能是这样,我在这里发帖是因为我多次听到这种情绪。它不是我自己的。如果您还有什么要补充的,我将不胜感激。

标签: javascript security backbone.js coffeescript


【解决方案1】:

JavaScript 安全,在你的意思上,不只是糟糕,实际上是不可能的。您不能信任您在客户端上运行的代码。您需要以这样一种方式构建您的程序,即您的服务器永远不会将信息发送到客户端的计算机,除非您希望他们能够看到它。

【讨论】:

  • 恶意用户要在 SSL 上查看用户模型中的数据,他/她必须“坐在”用户的机器上盯着页面,善于阅读缩小的 javascript 和调试以窥视内容并了解backbone.js
  • @Alex:严肃地说,你想保护什么?
  • 是的,@jeremybanks 绝对正确,“你不能信任你在客户端上运行的代码”总是应该在服务器端实施安全检查,甚至不考虑你在客户端完全进行了安全检查忽略这些检查。
猜你喜欢
  • 1970-01-01
  • 2013-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-23
  • 2015-09-23
  • 2015-04-27
  • 2018-06-24
相关资源
最近更新 更多