X-Frame-Options被缓存导致问题

问题描述

我正在尝试获取一个在多个域上以及至少在IE11上允许的HTML页面。 当我放入x-frame-options时:ALLOW-FROM (如果传入的来源是在允许的列表中),则使用此标头缓存页面,如果从另一个允许的来源打开它,则该页面将被阻止。

当我放置x-frame-options:ALLOWALL时,如果原点不在允许的列表中,则从后端返回403。使用此标头缓存页面,如果您从原始页面打开页面(不在允许的列表中)。

我正在使用Cache-Control:私有,无缓存,max-age = 86400;指示浏览器之前重新验证页面,但它检查e-tag是否相同,并仅将缓存的页面与缓存的x-frame-options标头一起使用

现在,我可以只使用Cache-Control:不存储并强制浏览器从不缓存我想做的事情。

注意:当前,我正在执行的操作是强制嵌入的页面也将原点放在查询字符串中,如果请求是跨域的,并且我在查询字符串中未检测到原点,我将重定向页面?o = 然后,我确认查询字符串中的来源与标头(浏览器设置)中的来源/引荐来源网址相同,如果不是,则发送403响应。 这样做是为每个来源提供了不同的页面(不同的查询字符串来源),并提供了正确的x-frame-options:allow-from 。并且如果来自不同来源的任何人试图嵌入一个已缓存的页面(其来源位于qs中),则浏览器将阻止他,因为allow-from是不同的或重新验证(因为没有缓存),并获得403并阻止了他(希望如此)

我的问题是,对于这种senario来说,通常的做法是什么。为什么以前没有人提到这个话题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...