说,我有一个纯前端平台,具有特定的GUI元素(标题,侧边栏..),但是其内容来自不同的Dockerized应用。这些应用驻留在iframe中,自己生成一些html,但同时共享父页面的 header 等元素。
现在,假设可以通过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,
他们将获得没有平台GUI元素的原始Docker html内容。
我的问题:
有办法防止这种行为吗?说,跟踪是否不是从平台发出请求,而是手动/从另一个站点发出请求。还是我的方法根本上是错误的?请注意,我是Docker,反向代理等 Realm 的新手。
最佳答案
在dockerized应用中,确认请求来自iframe,并且位置网址正确。
您可以通过在iframe中将以下脚本添加到应用中来执行此操作:
if (window.parent === window.top) {
console.log('I am displayed from main window');
} else {
console.log('I am displayed from iframe');
}
关于docker - iframe中的Docker应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49096486/