2011-10-14 30 views
6

我是新来的咖啡世界(javascript)。目前正在构建我的第一个backbone.js应用程序,它通过SSL与Rails后端进行通信。backbone.js中的安全?

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

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

更新1:为了回应@Nupul,我希望保护(integer, string, datetime)的元组。没有任何东西可以危害任何远程系统。

更新2:所以唯一要注意的是提供相同的数据骨干,人们会认为安全提供一个js-free html视图?

+0

我不确定你希望首先保护什么......模型中的数据只是在客户端操纵的可变数据/内容......您传输的内容可​​能会超过SSL,所以我我不确定你真的想保护什么?尝试加密模型中的所有内容,如果这是一个很大的问题,但你很快就会意识到这是一个矫枉过正,低性能,可能不值得:) – PhD

+0

@Alex:re:**更新2 **:是的,这是对。 –

+0

@JeremyBanks谢谢! –

回答

11

从某种意义上讲,JavaScript安全性不仅仅是吸吮,而且实际上不可能。您的不能在您的客户端上运行的信任代码。您需要构建您的程序,以便服务器不会将信息发送到客户端的计算机,除非您希望他们能够看到它。

+5

对于恶意用户在SSL上查看用户模型中的数据,他/她必须“坐在”用户的机器上盯着页面,善于阅读缩小的javascript和调试以查看内容并知道backbone.js – PhD

+0

@亚历克斯:严肃地说,你想保护什么? – PhD

+0

是的@jeremybanks在这里绝对是正确的,“你不能相信你在客户端运行的代码”总是应该在服务器端实现安全检查,而不必考虑你在客户端有安全检查完全忽略这些检查。 –