iframe中的Docker应用程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iframe中的Docker应用程序相关的知识,希望对你有一定的参考价值。

说,我有一个纯粹的前端平台,具有特定的GUI元素(标题,侧栏..),但其内容来自不同的Dockerized应用程序。这些应用程序驻留在iframe中,自己生成一些html,但同时共享父页面的标题等元素。

现在,假设平台可以在http://myplatform.com/访问,Docker应用程序可以在以下方法中进行反向代理:

http://myplatform.com/app1 - >去http://app1(名称为app1的容器)http://myplatform.com/app2 - >去http://app2等等

这意味着,iframe将有src = http://myplatform.com/app1|app2| ...

但如果有人在地址栏中手动输入http://myplatform.com/app1,他们将获得原始的Docker html内容,而无需平台GUI元素。

我的问题:有没有办法防止这种行为?比如说,跟踪请求是否不是从平台发出,而是手动/从其他站点发出。或者我的做法根本就是错误的?请注意,我是Docker世界的新手,反向代理等等。

答案

在dockerized app中,验证请求是否来自iframe且位置网址是否正确。您可以通过将此脚本添加到iframe中请求的app来执行此操作:

if (window.parent === window.top) {
    console.log('I am displayed from main window');
} else {
    console.log('I am displayed from iframe');
}

以上是关于iframe中的Docker应用程序的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 的选择器在 iframe 中不起作用

当 URL 包含片段时,iframe 会导致父元素在 Google Chrome 上向上滚动

从 google-site 上的嵌入式(iframe)片段,引用存储在 google 驱动器上的 json 文件

拥有的50个CSS代码片段(上)

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

Google 跟踪代码管理器集成安全性 - noscript iframe 沙盒