Отказался от фрейма '', поскольку он нарушает следующую директиву политики безопасности содержимого: "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 не проявляет никакой любви?

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

Настройка: веб-сервер является Apache:

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

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

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

0 ответов

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

frame-src data:

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

Другие вопросы по тегам