簡體   English   中英

通過HTTPS在AJAX調用上返回HTML內容的風險

[英]Risk in returning HTML content on AJAX call via HTTPS

我想動態加載HTML內容,例如通過AJAX調用更新Bootstrap的模態對話框內容(因為刷新頁面並再次顯示模態很奇怪),但是在此之前,我想知道我需要承擔哪些風險這樣做時需要關注的問題以及可能的解決方案。

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

當然,我可以將JSON中的數據從服務器返回到客戶端,但是我必須編寫復雜的客戶端邏輯來更新DOM,例如,在JSP中,該邏輯可能更容易實現

假設該Web應用程序僅是HTTPS,不確定是否可以解決任何問題。

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

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

解決方案是始終驗證並清除其他來源的輸入。 有關此的更多信息,請參見: https//www.owasp.org/index.php/Data_Validation

也許您為該工作選擇了錯誤的框架,並會考慮將客戶端數據綁定到視圖的客戶端渲染之類的東西(例如:角度,余燼,主干或敲除)

考慮盡可能使用Element.innerText$(Elm).text()代替Element.innerHTML$(elm).html()

在將用戶可以更改的所有內容編碼到數據庫中之前或呈現視圖時,最好對它進行編碼

但是,如果您確實允許使用某些html,則需要帶witelist approtch的sanitize插件來嚴格限制所允許的標簽和屬性

與http和https的唯一區別是, 中間人攻擊將很難讀取/攔截/更改請求和響應的內容

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM