Фрейм-предки Content-Security-Policy 'none' не работают - PullRequest
1 голос
/ 11 марта 2019

Я пытаюсь отключить все iframes с моего сайта, установив его в заголовках Content-Security-Policy моего ответа в слое Node. Согласно Mozilla Developer Network , свойство должно выглядеть так с точки зрения клиентской стороны:

Content-Security-Policy: frame-ancestors 'none';

Хорошо, вот как я устанавливаю это в слое Node в моем промежуточном программном обеспечении:

app.use(function (req, res, next) {
    /* Clickjacking prevention */
    res.header('Content-Security-Policy', "frame-ancestors 'none'")
    next()
})  

и вот как это выглядит на стороне клиента, когда я проверяю сетевую активность:

enter image description here

Однако, когда я встраиваю iframe YouTube, например:

<iframe
 width="420"
 height="345"
 src="https://www.youtube.com/embed/tgbNymZ7vqY"/>

это не отключено. Почему политика фрейм-предков, кажется, не имеет никакого эффекта? Тестирование этого на Chrome для того, что оно стоит.

1 Ответ

1 голос
/ 12 марта 2019

frame-ancestors укажите, какие страницы могут обрамлять текущую страницу .

Если вы хотите ограничить кадры , которые могут быть на текущей странице , вы можете использоватьchild-src.

Однако директива child-src также применяется к веб-работникам.Вы можете переопределить его, используя директиву worker-src

...