iframe网页使用csp:frame-ancestor

时间:2017-03-10 06:35:37

标签: google-chrome express iframe content-security-policy x-frame-options

我正在使用 express(lusca)添加安全标头,但仍然无法在 chrome 中的jsbin / codepen / jsfiddle / localhost中呈现我的网页,并且奇怪的事实它是否适用于 IE ,即使没有标题。

我使用 csp的frame-ancestor 的原因是因为我听说 x-frame-options 已过时并且不允许多个可信主机和通配符。

请建议一下。 我只是希望我的应用只能来自某些特定主机 iframed

app.use(lusca({
        csp: {
            policy: {
                'frame-ancestors': 'http://*.jsbin.com',
            },
        }
    }));

1 个答案:

答案 0 :(得分:0)

如果是特定的URL,则不需要通配符。 1)如果您的嵌入网址为“https://output.jsbin.com/xyzcv/1/?html,output

,则以下内容应该有效
app.use(lusca({
    csp: {
        policy: {
            'frame-ancestors': 'https://jsbin.com',
        },
    }
}));

2)如果您的网址类似于“https://es.mydomain.com/page1”和“https://fr.mydomain.com/page1”,那么您可以使用通配符

app.use(lusca({
    csp: {
        policy: {
            'frame-ancestors': 'https://*.mydomain.com',
        },
    }
}));