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