2011-10-14 22 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在這裏絕對是正確的,「你不能相信你在客戶端運行的代碼」總是應該在服務器端實現安全檢查,而不必考慮你在客戶端有安全檢查完全忽略這些檢查。 –