说,我有一个纯粹的前端平台,它有特定的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世界的新手,反向代理等等。
答案 0 :(得分:0)
在dockerized app中,验证请求是否来自iframe且位置网址是否正确。 您可以通过将此脚本添加到app中来执行此操作,该脚本在iframe中请求:
if (window.parent === window.top) {
console.log('I am displayed from main window');
} else {
console.log('I am displayed from iframe');
}