来自不同域的SSL iframe和SSL页面

时间:2012-03-28 17:34:52

标签: iframe ssl https widget

立即为所有这些选项设置沙箱是不可行的。所以我呼吁社区寻求帮助。这是一个奇怪的,我只是想知道什么会起作用(最重要的是在ie)和什么不会。

  1. 包含来自同一域的https的iframe的Http页面//没有 想法
  2. 包含来自其他域的https的iframe的Http页面 //不知道
  3. 包含来自同一域的https的iframe的Https页面 //不知道
  4. 包含来自其他域的https的iframe的Https页面 //不知道
  5. 包含来自同一域的http的iframe的Http页面//我 知道这件作品
  6. 包含来自其他域的http的iframe的Http页面 //我知道这个有用
  7. 包含来自同一域的http的iframe的Https页面 //怀疑这是否有效
  8. 包含来自其他域的http的iframe的Https页面 //怀疑这是否有效
  9. 为了更好的阅读;)

    ╔═════════════════════╦═══╦═══════════════╦══════════════════╦═══════════════════╗
    ║ Page with an iFrame ║ c ║ inside iFrame ║      domain      ║       works?      ║
    ╠══════════╦══════════╣ o ╠═══════╦═══════╬══════╦═══════════╬═══════════════════╣
    ║   http   ║   https  ║ n ║  http ║ https ║ same ║ different ║                   ║
    ╠══════════╬══════════╣ t ╠═══════╬═══════╬══════╬═══════════╬═══════════════════╣
    ║     X    ║          ║ a ║       ║   X   ║   X  ║           ║      no idea      ║
    ╠══════════╬══════════╣ i ╠═══════╬═══════╬══════╬═══════════╬═══════════════════╣
    ║     X    ║          ║ n ║       ║   X   ║      ║     X     ║      no idea      ║
    ╠══════════╬══════════╣ i ╠═══════╬═══════╬══════╬═══════════╬═══════════════════╣
    ║          ║     X    ║ n ║       ║   X   ║   X  ║           ║      no idea      ║
    ╠══════════╬══════════╣ g ╠═══════╬═══════╬══════╬═══════════╬═══════════════════╣
    ║          ║     X    ║   ║       ║   X   ║      ║     X     ║      no idea      ║
    ╠══════════╬══════════╣   ╠═══════╬═══════╬══════╬═══════════╬═══════════════════╣
    ║     X    ║          ║   ║   X   ║       ║   X  ║           ║ I know this works ║
    ╠══════════╬══════════╣   ╠═══════╬═══════╬══════╬═══════════╬═══════════════════╣
    ║     X    ║          ║   ║   X   ║       ║      ║     X     ║ I know this works ║
    ╠══════════╬══════════╣   ╠═══════╬═══════╬══════╬═══════════╬═══════════════════╣
    ║          ║     X    ║   ║   X   ║       ║   X  ║           ║  doubt this works ║
    ╠══════════╬══════════╣   ╠═══════╬═══════╬══════╬═══════════╬═══════════════════╣
    ║          ║     X    ║   ║   X   ║       ║      ║     X     ║  doubt this works ║
    ╚══════════╩══════════╩═══╩═══════╩═══════╩══════╩═══════════╩═══════════════════╝
    

    请帮忙!提前谢谢。

2 个答案:

答案 0 :(得分:17)

包含页面和iframe是否在同一个域上并不重要。

  • 使用http://网址使用iframe通过http://投放的网页:效果很好。
  • 使用http://网址使用iframe通过https://投放的网页:工作正常,but you won't be able to ensure the security of the iframe
  • 使用https://网址使用iframe通过http://投放的网页:将生成混合内容警告,从而带来潜在的安全风险,应该避免使用。
  • 使用https://网址使用iframe通过https://投放的网页:效果很好。用户可能会发现很难检查iframe是否来自他们期望的网站。他们有效地信任包含页面做正确的事情(见3-D secure problem)。

答案 1 :(得分:4)

我遇到了同样的问题,发现一个解决方法对我和我的项目工作正常:

我没有使用iframe,而是使用弹出窗口(javascript window.open)放置iFrame。在打开弹出窗口之前,我检查iframe上的SRC是否以https开头。如果是这样,我用https打开弹出窗口,否则我用http打开弹出窗口。

希望这些信息对你们中的一些人有所帮助: - )