Web 安全之混合內容

Nick發表於2019-10-27

什麼是混合內容

在使用 https 協議下的網頁引入了 http 協議的資源,比如圖片、css、js、影片、音訊,即視為混合內容。http 協議一般不會有混合內容,因為混合內容是建立在 https 協議下,https 是經過 SSL 協議加密,內容無法篡改。

混合內容包括哪些

  1. 被動內容,即無法修改頁面內容的元素,主要包括: <audio> <img> <video> <object>

  2. 主動/活動內容,即可能修改頁面內容的元素,主要包括:<script> <link> XMLHttpRequest <iframe> <object> 以及 css 內容中透過 url 形式引入的字型檔案,背景圖片、瀏覽器 API Fetch 等等。

網頁中有混合內容會遇到什麼問題

  1. 瀏覽器沒有小鎖的圖示,頁面提示不安全。

  2. 主動/活動內容會被攔截。

如何解決混合內容中 ajax 的請求

  1. 使用 http 協議,因為混合內容是建立在 https 之上的,當然這樣做網頁也就不安全了,容易被監聽、竄改資料。所以不推薦。

  2. 由後端提供 API ,前端請求到當前域名下由後端進行轉發請求。

參考文件:

https://developer.mozilla.org/zh-CN/docs/S...
https://developers.google.com/web/fundamen...

本作品採用《CC 協議》,轉載必須註明作者和本文連結
微信訂閱號:我愛Coding

相關文章