Optimizely Web 中带有 Content-Security-Policy 标头的 DOMException

问题描述

一个项目中,我们使用 Optimizely Web Experiments 集成进行 A/B 测试。 Optimizely Web 带有一个相当不错的 Web 编辑器,允许您直接在浏览器中修改 A/B 测试的变体。

现在,前一段时间出于安全原因,我们决定除其他外引入 x-frame-options HTTP 响应标头,以防止我们的应用加载到 iFrame 中。当然,这也会阻止 Optimizely Web Editor 加载我们的页面,因此我们无法再修改变体。

因此,我开始使用 Content-Security-Policy 标头并设置这些值:

default-src * 'unsafe-inline' 'unsafe-eval' data:; frame-ancestors 'self' app.optimizely.com www.optimizelyedit.com;

我知道这不是超级安全,但我只想让 Optimizely Web 编辑器加载我的页面

当我现在将我的页面加载到 Web 编辑器时,我没有收到任何提及违反内容安全策略的警告。取而代之的是DOMException

Web 应用程序使用 React.js 和 Express。静态资产通过不同的域交付。 DOMException 仅出现在 Optimizely Web 编辑器中,似乎被抛出到 app.js 中,该 Uncaught DOMException: Blocked a frame with origin "https://www.host-a.de" from accessing a cross-origin frame. 是从第二个域传送的。

Content-Security-Policy

app.jsDOMException 标头与引用该 JavaScript 文件的初始 HTML 页面完全相同。

我真的不明白,为什么我只在 Opimizely Web 编辑器中得到这个 data.frame( Which = LETTERS[1:11],x = c( c(3,1,4,2,16),NA,rep(NA,2),10)) -> df df %>% group_by(d = is.na(x)) %>% arrange(x) %>% mutate(y = ifelse(!d,rev(x),x)) %>% ungroup %>% select(-d) # A tibble: 11 x 3 Which x y <chr> <dbl> <dbl> 1 B 1 16 2 D 2 10 3 A 3 4 4 C 4 4 5 H 4 3 6 K 10 2 7 E 16 1 8 F NA NA 9 G NA NA 10 I NA NA 11 J NA NA 而不是,当我加载没有它的页面时,我也不知道如何防止它。你有什么想法吗?

解决方法

结果 DOMException 不是由 Content-Security-Policy 标头引起的。即使在关闭安全标头后,我也会收到错误消息。

相关问答

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