2014-10-06 75 views
1

我想動態加載HTML內容,例如通過AJAX調用更新Bootstrap的模式對話框內容(因爲刷新頁面並再次顯示模式很奇怪),但在我做之前那我想知道什麼風險這樣做時我需要關注以及可能的解決方案。通過HTTPS在AJAX調用中返回HTML內容的風險

這樣做的主要原因是我正在開發Liferay的portlet,並且希望動態更新我的portlet的內容而不刷新整個頁面。

當然,我可以從我的服務器到客戶端返回JSON數據,但我會寫複雜的客戶端邏輯來更新DOM,其中的邏輯是,比方說可能做更容易,JSP

假設該Web應用程序僅HTTPS,不知道這是否有助於任何事情。

回答

1

基於Web應用程序僅爲HTTPS的假設,讓所有的AJAX調用也使用它是非常好的。這不會違反混合不安全和安全的連接,以及瀏覽器給出的警告對話框。

如果HTML的某些部分是在其他地方生成的,或者部分是基於未經驗證的用戶輸入,則唯一的風險可能是由跨站點腳本引起的。

解決方案是始終驗證和清理來自其他來源的輸入。關於這方面的更多信息可以在這裏找到:https://www.owasp.org/index.php/Data_Validation

0

也許你選擇了錯誤的框架的工作,並會考慮像客戶端渲染,你會將json數據綁定到視圖(例如:angular,ember,backbone或擊倒)

考慮使用Element.innerText$(Elm).text(),而不是Element.innerHTML$(elm).html()時可能

也許這將是編碼的用戶可以更改你將它保存到數據庫或當你渲染前的一切是個好主意觀點

但是如果你這樣做讓一些HTML,你需要用witelist approtch嚴格允許的標籤&屬性

唯一diffrence與HTTP和HTTPS協議的sanitize插件,這將是非常困難的man-in-the-middle attack閱讀/攔截/更改請求的內容&響應