我有一个安全(HTTPS)的网络应用,需要从不安全(HTTP)来源(客户自己的网站)加载自定义样式表。这被现代浏览器阻止,但我需要一个解决方法,因为:
1)我不能要求我的客户在HTTPS上托管他们的自定义样式表。他们没有专业知识,他们中的一些人有关于托管主机和地区的政策(具有讽刺意味的是,不是关于HTTPS)。 2)我显然不能要求最终用户在浏览器中禁用安全功能。
我尝试使用<style>@import url(...);</style>
加载样式表,我尝试使用src =&#34; about:blank&#34;创建iframe。从那里加载样式表,我尝试了XHR和fetch(但这需要在远程主机上启用CORS,这是我无法合理预期的。)
如果没有创建一个可以为网络上的任何样式表提供服务的安全代理,那么我是否还缺少其他解决方法?
让我的页面通过HTTP加载跨源样式表的任何法术?
答案 0 :(得分:1)
如果有一种解决方法可以在安全页面上加载不安全的资源,则应该尽快修补它。不,该政策的存在是因为在 所有 资源上没有HTTPS,您就不会真正受到保护。任何HTTP连接都可能被拦截并且处于中间位置,因此页面不安全。即使像样式表这样的小事也会破坏这种安全性。
你将必须通过HTTPS提供样式表,如果你的客户不能这样做,你将不得不为他们做。
答案 1 :(得分:0)
是否可以下载他们的CSS服务器端,并通过HTTPS将其提供给您自己的用户?
答案 2 :(得分:0)
我尝试使用我构建的webapp做同样的事情。您想要做的真正问题是浏览器。它不允许安全连接被不安全的连接破坏,特别是当您想要在该页面上注入某些内容时。我用过这种技术:
document.createElement("link")
注射。由于浏览器安全性是一个大问题,我不认为你会发现黑客攻击。
祝你好运! :)