Здравствуйте, проблема такая. Создаю фрейм
<iframe src="http://prolegkie-info.eversmi.com/" width="100%" height="100%"></iframe>
В консоли пишет вот такую ошибку.
Refused to display 'http://prolegkie-info.eversmi.com/544?page=full' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors http://webvisor.com".
В чём может быть проблема? Если в iframe подставить другой src прекрасно работает.
Этот сайт (который в параметре src
) запрещает демонстрировать свои страницы в фреймах всем, чьи страницы не на http://webvisor.com
. Браузер прямо пишет, что запрет вызван настройками Content Security Policy, а именно опцией frame-ancestors
.
Фишка относится к Content Security Policy Level 2.
Ранее существовал аналогичный механизм в виде X-Frame-Options
, но его вариация с "белым списком доменов" (ALLOW
) широко так и не распространилась. А вот DENY
и SAMEORIGIN
поддерживаются куда чаще. Сейчас его используют больше из соображений совместимости.
А пришедший ему на замену CSP L2 явно требует игнорировать X-Frame-Options
, если задан CSP с frame-ancestors
. Так что X-Frame-Options
ни при чём. В вашем браузере. Браузер постарше мог бы не понять заголовок CSP, но обратить внимание на полный запрет любого* встраивания через X-Frame-Options
. В результате, правда, поведение несколько отличается: такой браузер заблокировал бы загрузку и в фрейме на webvisor.com
.
Это выбор владельцев сайта в фрейме, который доносится через HTTP-заголовок ответа их сайта. Со своей стороны вы ничего не можете с ним сделать.
* Это если DENY
. Если SAMEORIGIN
, то действует запрет на встраивание везде, кроме страниц этого же самого сайта.
Данный сайт использует заголовок Content Security Policy
В котором используется директива frame-ancestors
Эта директива определяет допустимых родителей, которые могут встроить данный сайт используя <frame>
, <iframe>
, <object>
, <embed>
или <applet>
.
В данном случае использовано значение: frame-ancestors http://webvisor.com;
Что разрешает встраивать сайт только webvisor.com
Проблема в специальных директивах в заголовках сайта.
X-Frame-Options:SAMEORIGIN
X-Frame-Options:DENY
Они запрещают данное действие.
Здравствуйте Как Рандомно генерировать фотографии? через html javascript что бы нажать на кнопку оно генерировала фотографии из папки
На данный вопрос уже ответили: