2012-08-30 109 views
0

我正在用Backbone.js開發單頁面應用程序,並且我在問自己一些問題。單頁應用程序安全問題

當我開發一個依賴於服務器上的渲染頁面的應用程序時,我知道如何顯示某些部分或不依賴於用戶是否是管理員(僅舉例)。

但現在,我使用Backbone.js並強調模板來創建視圖...所以....我可以創建一個cookie,說...好吧...是管理員,但無論如何,足夠聰明的人可以改變cookie值。我能夠解決它只是在服務器端創建一個允許用戶這樣做的檢查。

我在想

其他的機會是向服務器請求的代碼,這個混凝土塊,只是將它們粘貼到正確的網站

你覺得呢?

感謝

回答

2

你的情況是不完全清楚,我,但一般:如果服務器泄露「機密」信息,或允許限制的動作,而不必證明自己用戶被允許看到的東西/做這是一個安全漏洞。認證必須以已建立的方式進行:用戶在服務器上登錄並且接收安全(足夠)令牌,例如,會話cookie。然後,服務器只發送用戶被允許看到的信息給客戶端,並且只允許用戶允許執行的操作。

根據定義,任何客戶端總是不安全的。不存在安全的僅客戶端身份驗證系統。服務器不能以客戶的名義接受他的身份。如果服務器無法驗證該操作,則不必在客戶端上執行關鍵操作。

+0

好吧,也許我已經解釋了我自己非常糟糕(我不太會說英語)。 –

+0

我正在使用會話cookie,但我不知道如何在單個頁面(其中所有完成客戶端)來呈現不同的模板,具體取決於用戶的角色 –

+0

那麼,服務器正在準備代碼/以某種形式提供信息,對嗎?你需要在服務器上有'if(user == admin){輸出代碼來生成管理頁面} else else {...}'。如果客戶端向服務器發出任何請求信息的AJAX請求,則服務器需要檢查憑據,並且只在證書有序時才返回信息。 – deceze