簡體   English   中英

HTTPS 站點:通過 HTTP 加載外部 CSS

[英]HTTPS Site: Load an external CSS over HTTP

我有一個安全 (HTTPS) 網絡應用程序,它需要從不安全 (HTTP) 來源(客戶自己的網站)加載自定義樣式表。 這被現代瀏覽器阻止,但是我需要一個解決方法,因為:

1) 我不能要求我的客戶在 HTTPS 上托管他們的自定義樣式表。 他們沒有專業知識,其中一些人制定了有關可以托管哪些主機和區域的政策(具有諷刺意味的是,盡管與 HTTPS 無關)。 2) 我顯然不能要求最終用戶在他們的瀏覽器中禁用安全功能。

我嘗試過,使用<style>@import url(...);</style>加載樣式表,我嘗試使用 src="about:blank" 創建 iframe 並從那里加載樣式表,我嘗試了 XHR 和 fetch (但這將需要在我無法合理期望的遠程主機上啟用 CORS)。

除了創建一個可以在網絡上提供任何樣式表的安全代理之外,我還缺少其他任何解決方法嗎?

任何讓我的頁面通過 HTTP 加載跨域樣式表的魔法?

如果有一種解決方法可以在安全頁面上加載不安全的資源,則應盡快對其進行修補。 不,該政策存在是因為如果所有資源沒有 HTTPS,您就沒有真正的安全。 任何 HTTP 連接都可能被攔截和中間人,因此該頁面是不安全的。 即使像樣式表這樣的小東西也會破壞這種安全性。

不得不通過 HTTPS 提供樣式表,如果您的客戶不能這樣做,您將不得不為他們做。

是否可以下載他們的 CSS 服務器端,並通過 HTTPS 將其提供給您自己的用戶?

我試圖用我構建的 webapp 做同樣的事情。 您想要做的真正問題是瀏覽器。 它不允許安全連接被不安全連接破壞,尤其是當您想在該頁面上注入某些內容時。 我使用了這種技術:

document.createElement("link") 

注射。 瀏覽器安全是一個大問題,我認為你不會找到黑客......祝你好運! :)

暫無
暫無

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

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