我們有一個應用程序位於防火牆之後,位於CAS認證層之後。它具有一項功能,允許具有特殊角色的用戶通過編寫在運行時插入到應用程序中的JavaScript函數來定製應用程序的工作方式,並且可以通過按鈕點擊和頁面加載等事件觸發該功能。 (JS不是「eval」d)它被寫入頁面服務器端。)如何保護允許用戶插入JavaScript的應用程序?
不用說,這個特性引發了安全問題!
除了a)防火牆,b)健壯身份驗證和c)授權外,是否還有其他建議可以解決這個問題。
編輯: 迴應評論中的問題: 1.注入的代碼是否成爲應用程序的一部分,還是作爲獨立的應用程序(分離的上下文)執行? 是的,它成爲應用程序的一部分。它目前被插入到服務器端,插入到腳本標籤中。
- 插入的JavaScript是否在客戶端瀏覽器上運行,而不是原作者? 是的。它會持續存在,然後插入到所有將來的請求中。
(應用程序可以被認爲是一個「引擎」用於創建自定義應用程序針對該通過REST風格的調用訪問一個通用的後端數據存儲。每個自定義應用程序可以有它自己的一套定製的這些Java腳本)
注入的代碼是否成爲應用程序的一部分,還是作爲獨立的應用程序(分離的上下文)執行? – FDavidov
插入的JavaScript是否在客戶瀏覽器上運行,而不是原作者? –