【问题标题】:HTTP content under HTTPS page solutionHTTPS页面下的HTTP内容解决方案
【发布时间】:2013-09-10 16:05:33
【问题描述】:

我有一个网站,其中一部分 HTML 是从外部加载的,在这一部分中,他们定义了一些资源,例如 javascript 或 css,这些资源将成为我网站的一部分(用于样式表或 javascript 交互)

不幸的是,我拥有的网站是在 HTTPS 下运行的,并且外部部分包含一些 HTTP 下的资源,这不是一个好的做法,因为在 HTTPS 页面内,不允许有不安全的内容。我无权将外部的所有内容更改为 https,因此我必须为这个问题提供一个解决方案,我正在考虑构建一个用于解析所有外部内容的引擎,并将 http 中的所有链接更改为有效的 URL ,但是有几个问题,因为我不知道其中包含什么内容。

如果你是我,应该给出什么解决方案?

【问题讨论】:

标签: javascript html http https


【解决方案1】:

就我个人而言...我不会在值得 ssl 加密的页面上使用我无法控制的非现场内容(也可能被黑客或恼怒的开发人员制作成恶意内容)。

但是,如果您必须这样做,那么您唯一的选择是某种代理,它会在加载到您的页面之前解析场外内容。如果它是静态的,或者至少不会在每个请求中更改,您可以缓存它以缩短加载时间并节省每次请求时对其进行解析。

这当然是假设站外内容无论如何都不能使用https(您可以直接传递//offsite-com/script.js,并且站外内容自动检测是否将任何url返回为https

【讨论】:

  • 谢谢李,你的意思是我们会缓存内容并在之前处理它,对吧?但是,我认为我们将不得不构建一个类似于浏览器的 HTML 引擎。因为如果在外部,它们提供了一个样式表文件,其中包含一些指向不安全图像的链接,如果不先尝试呈现内容,我们就无法知道这一点
  • 在不知道确切的外部内容及其使用方式的情况下,很难提供一个好的答案,因为它是您的场景的一个相当具体的问题。在大多数情况下,如果您通过 https 链接到样式表,则应该没问题,因为样式表倾向于使用相对于资源的 url,但情况并非总是如此,因此再次强调,这取决于您的具体情况
  • 来自外部站点的内容是完全可信的,但是我无权更改其中的任何内容,我知道样式表文件中有一些指向图像的链接,并且必须将其更改为有效的内容。
  • 这个不能用iframe显示外部内容解决吗?
猜你喜欢
  • 1970-01-01
  • 2011-03-01
  • 2013-04-21
  • 1970-01-01
  • 1970-01-01
  • 2015-12-10
  • 1970-01-01
  • 2015-05-03
  • 1970-01-01
相关资源
最近更新 更多