Отказано в создании фрейма '', потому что это нарушает следующую директиву политики безопасности контента: «frame-src *»

Я нашел много решений для различных ситуаций с "отказом в xyz" из-за настроек Content-Security-Policy.

Однако я не могу найти, что могло бы быть неправильным, если '' получает отказ.

Буквальное сообщение об ошибке в браузере:

Refused to frame '' because it violates the following Content Security Policy directive: "frame-src *".

Это происходит только в Chrome. Загрузка страницы в Firefox или Internet Explorer работает нормально.

Я установил следующий CSP (на самом деле это одна строка. Я добавил новые строки для удобства чтения):

default-src 'self';
script-src 'self' 'unsafe-inline' 'unsafe-eval';
style-src 'self' 'unsafe-inline';
img-src 'self' data:;
frame-src 'self' *;
object-src 'none';
font-src 'self' data:;

Теперь я понял, что * означает «все». За что Chrome не выказывает мне любви?

Примечание: Мы оценили возможность избавиться от 'unsafe-inline' и 'unsafe-eval' , но в настоящее время не можем. Если это может быть причиной моей проблемы, укажите, как это сделать. В противном случае я понимаю, что это проблема безопасности, и мы работаем над тем, чтобы избавиться от нее. А пока он здесь, чтобы остаться.

Окружение: Веб-сервер - это Apache:

# rpm -q httpd
httpd-2.4.6-80.el7.centos.1.x86_64

edit1 Ошибка возникает при попытке открыть почтовую программу клиента с веб-сайта. Пользователь щелкает ссылку, и предполагается, что почтовая программа откроется.

Возможно, поэтому Chrome отображает пустую строку ( '' ) в качестве заблокированного содержимого.

3
задан 18 December 2018 в 17:11
1 ответ

Сегодня была именно такая проблема. Я решил это с помощью

frame-src data:

Btw. '*' - это только подстановочный знак для URL-адресов. данные: 'unsafe-inline' и 'unsafe-eval' нужно добавлять отдельно.

1
ответ дан 3 December 2019 в 07:21

Теги

Похожие вопросы