Установлен запрет на отображение страницы во фрейме как исправить

Временами у вас могут возникнуть проблемы с вебвизором в метрике «Яндекс. Вебмастера». Вы хотите посмотреть запись посещения вашего сайта, но по непонятным причинам не можете. Скорее всего, установлен запрет на отображение страницы во фрейме.

Что сделать, если вебвизор не работает через «Яндекс. Метрику»

запрет на отображение страницы во фрейме вебвизор

Для начала нужно проверить, включён ли у вас вообще вебвизор в метрике (в настройках счётчика). Заходим на страницу сайта, где установлен счётчик метрики. Переходим в просмотр кода страницы нажатием на (ctrl+u), комбинацией ctrl+f начинаем поиск нужного фрагмента кода, а именно — webwizor:true. Если в конце фрагмента стоит false, то код будет работать неправильно. Запрет на отображение страницы во фрейме (вебвизор) подтверждён.

Если вебвизор в метрике всё равно не воспроизводит действий пользователя, то есть несколько вариантов проблемы:

  1. Блокировка со стороны браузера клиента.
  2. Блокировка со стороны сервера, на котором «лежит» ваш сайт.

Рассмотрим оба варианта решения проблемы. Первый вариант: вебвизор не работает по причине блокировки браузером клиента, а значит, установлен запрет на отображение страницы во фрейме.

Блокировка со стороны браузера клиента

Необходимо убедиться в том, что у вас есть доступ к любому адресу «Яндекса»: *.yandex.ru. Если в настройках выбран режим инкогнито, то включена блокировка. Доступ к ресурсам может блокироваться антивирусом (проверьте его настройки), фаерволом вашей системы или на уровне подсетей. Для устранения проблемы просто добавьте их в список доверенных сайтов, и проблема должна уйти.

Если проблема с установлением запрет на отображение страницы во фрейме всё-таки осталась, то просто зайдите с чистого браузера — это может быть режим «Инкогнито» или скачанный браузер без плагинов и дополнений, расширений (в случае с «Гугл Хром»). Этот подход устраняет проблему в 99 случаях из 100.

Блокировка со стороны сервера

Второй вариант: установлен запрет на отображение страниц во фрейме. Эту проблему решить немного сложнее, чем в первом случае.

  1. Открываем в «Яндекс. Метрике» раздел «Вебвизор», нажимаем f12 (после нажатия открываются инструменты разработчика).
  2. Вкладка «Консоль», перезагружаем страницу (F5).
  3. В списке ошибок будет подчёркнутая красная строка, там будет написано о проблеме.

Если установлена блокировка показа вашего сайта во фрейме, то в «Консоли» вы увидите такую строку: X-Frame-Options: SAMERIORIGN

установлен запрет на отображение страницы во фрейме

В последнее время активно ведётся работа по решению этй проблемы, но пока в большинстве браузеров решение не поддерживается. Если вы убираете этот запрет, значит сознательно делаете свой сайт уязвимым для хакерских атак или просто взлома.

Приведем пример: В компании «1-С-Битрикс» говорят: «Вам важнее безопасность сайта или то, что вы не можете посмотреть действия пользователя на вашем сайте?» Для того чтобы убедиться, что именно по этой причине не работает вебвизор, и вы не можете посмотреть, что делают ваши пользователи на сайте, необходимо осуществить проверку ответа сервера на запрос в любом известном сервисе. Введите адрес страницы с установленным вебвизором и получите результат, как на скрине.

открыть страницу во фрейме

Установлен запрет на отображение страницы во фрейме, скрин свидетельствует об этом.

Вы все-таки решили снять запрет? Если он стоит на уровне конфигурации сервера, и вы поставили сайт на виртуальный хостинг, обратитесь в техподдержку.

Если запрет на уровне скрипта, различные cms делают запрос в свои библиотеки безопасности, поэтому проблему решить будет сложнее, чем вы думаете. Открыть страницу во фрейме не удалось? Обратитесь к разработчикам вашей CMS.

Как видите, если установлен запрет на отображение страницы во фрейме, проблему можно решить даже самостоятельно.

#45

Почему не работает вебвизор в Яндекс.Метрике

Причиной неработоспособности вебвизора, а также карты скроллинга, карты ссылок и карты кликов в Яндекс.Метрике может быть ошибка в коде счетчика или же ограничение на отображение страницы во фрейме.

Ошибки в коде счетчика

В первую очередь, если у вас нет данных о посещениях при клике на инструмент «Вебвизор», то необходимо проверить, присутствует ли в коде счетчика возможность записи и анализа поведения посетителей сайта.

Выявить ошибку кода можно двумя способами:

  1. При клике на инструмент «Вебвизор» появится надпись «Подключите Вебвизор в настройках счетчика».

Как подключить вебвизор Яндекс.Метрика

  1. Открываем код страницы сайта с установленным кодом счетчика Яндекс.Метрики и проверяем наличие следующей строки в нем:

    Не работает вебвизор Яндекс.Метрики
    Если она отсутствует, то это является причиной неработающего вебвизора.

Чтобы устранить данную ошибку, необходимо обновить код счетчика. Для этого открываем его настройки, включаем «Вебвизор, карта скроллинга, аналитика форм» и вставляем обновленный код на все страницы сайта.

Настройка вебвизора Яндекс.Метрика

Запрет на отображение во фрейме

Второй причиной, почему не работает вебвизор, карты скроллинга или аналитика форм является невозможность воспроизведения посещений на страницах сайта — их запрет на отображение во фрейме Яндекс Метрики. При данной ошибке отображается следующее предупреждение:

Невозможно воспроизвести посещение на данной странице. Возможные причины:

  • Не установлен код счётчика
  • Установлен запрет на отображение страницы во фрейме

Предупреждение при запрете на отображение во фрейме

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

Для того чтобы это ограничение снять, необходимо убрать запрет либо:

  • в конфигурации сервера;
  • в файле htaccess;
  • в настройках CMS.

Справка по настройке сервера: https://yandex.ru/support/metrika/webvisor/settings.html .

Частые ошибки установки счетчика, настройки событий и целей, и способы их исправить.

Отчеты Яндекс.Метрики дают массу информации для принятия решений о развитии сайта и корректировки стратегии. Если ориентироваться на неверные данные статистики, можно навредить сайту, поэтому важно настроить Метрику правильно.

В этом материале разберем частые ошибки в настройке Яндекс.Метрики. Если у вас мало опыта настройки или вы видите неестественные данные, советуем провести проверку — вдруг найдете описанные в статье ошибки

Подробное руководство по регистрации и начале работы с Метрикой — «Яндекс.Метрика от А до Я».

Разберем ошибки, которые чаще встречаются при работе с Метрикой.

Некорректная установка счетчика Я.Метрики

Причины того, что в Метрике появляются не все данные, могут быть связаны с особенностями работы счетчика:

  • Один счетчик работает максимум с 200 целями.
  • Счетчик фиксирует достижение одной цели пользователем не чаще одного раза за секунду.
  • Пользователь зашел на сайт и покинул его слишком быстро, счетчик не успел загрузиться.
  • Если вы корректировали настройку счетчика, статистика до этого не исправится.
  • Поток пользователей для ретаргетинга появится только после настроек, поэтому настроить Метрику нужно перед рекламными кампаниями.
  • Если в URL есть знак +, в шаблонах он пишется как «%2B».

Это просто нужно иметь в виду при работе с данными. Но если вы установили счетчик, но он не фиксирует данные с сайта, возможно, установка прошла неправильно.

Как проверить установку счетчика

В Справке Яндекса есть алгоритм:

  1. К адресу вашей страницы добавьте параметр по образцу: http://site.ru/?_ym_debug=1 и откройте страницу
  2. Вызовите консоль браузера, это можно сделать с помощью кнопки F12 — Console, горячих клавиш Ctrl + Shift + J или ⌥ + ⌘ + J для Apple.

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

Как проверить счетчик Яндекс Метрики

Счетчик Метрики установлен

Если в Params вместо данных написано undefined, значит счетчик работает корректно, но параметры визитов не передает.

Проверить установку счетчика Метрики

Счетчик не передает визиты

Если в консоли есть данные, но отчеты не отображаются, зайдите в настройки Метрики во вкладку Фильтры, возможно, фильтры стоят слишком жесткие.

Если информации вообще нет, что-то не так со счетчиком:

  • Счетчик не установлен. CMS может внести изменения в код счетчика, так что его нужно переустановить.
  • Работу счетчика блокируют другие скрипты, это можно проверить в консоли браузера.
  • Счетчик заблокировало расширение Adblock Plus.
  • В файле hosts операционной системы заблокирован mc.yandex.ru.
  • Счетчик установлен неправильно.

Как установить счетчик Яндекс.Метрики правильно

Процесс регистрации в Яндекс.Метрике и установки счетчика описан в обновленном Руководстве со скриншотами.

Для добавления кода на сайт, есть несколько способов. На странице ресурсов собраны дополнения для разных CMS, которые помогут установить счетчик на страницы сайта.

Если в каталоге ресурсов ничего подходящего не нашлось, можно поставить счетчик вручную. Для корректной работы нужно поставить его на все страницы как можно ближе к началу. Код счетчика ставят внутри тега или .

Если установка прошла правильно, довольно скоро он начнет собирать данные.

На странице Метрики со всеми счетчиками у каждого отмечен его статус. Для определения статуса счетчика робот запрашивает главную страницу сайта. Если на главной счетчика нет, в статусе будет «Не найден», но это никак не повлияет на корректность сбора данных на других страницах, если на них он установлен правильно.

Красный обычно появляется у недоступных и зараженных сайтов, но если таких проблем нет, то причина может быть в другом:

  • Вы создали счетчик недавно, данные еще не обновились. Стоит подождать сутки.
  • Счетчик стоит на Турбо-странице.
  • Сайт непопулярный — посещаемость меньше 100 человек в сутки или визитов меньше 30 за два часа. Для таких сайтов цвет индикатора не имеет значения.

Использование другой версии кода при настройке событий в Яндекс.Метрике

Отслеживание JavaScript-событий, при которых не меняется URL сайта, требует настройки. Если следовать руководствам из интернета, а не советам из Справки Яндекса, есть риск скопировать из статьи код, который не будет подходить вашей версии Метрики.

Есть две версии: старая и новая, которая доступна в настройках с декабря 2018 года. Тогда Яндекс обновил код счетчика и набор методов.

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

Если используете старую, методы будут другие, они перечислены на странице Справочника методов предыдущей версии.

Яков Осипенков в эксперименте проверил метод Reach goal, который используют для настройки целей. Он выяснил, что методы новой версии не будут работать с устаревшим счетчиком, но методы старой работают с обеими версиями.

Если вы пользуетесь руководствами из интернета, вероятнее всего, в актуальных материалах используют методы для новой версии. Так что если у вас старая, они не сработают, проще обновить Метрику до новой и не думать об этом.

Короткий тайм-аут визита

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

Как настроить тайм-аут визита пользователя

Настройка тайм-аута визита

В разделе «Отчеты» — «Источники» — «Источники, сводка» — «Внутренние переходы» видно, сколько переходов относятся к внутренним.

Сводка по внутренним переходам в Метрике

Внутренние переходы в Метрике

Если вы выяснили, что слишком много пользователей не укладываются в установленный тайм-аут и внутренних переходов слишком много — к примеру, больше половины — то тайм-аут лучше увеличить. Иначе долгие сессии пользователей будут делиться на два визита, а по факту это не так. Также проверьте, на всех ли страницах стоит счетчик.

Часовой пояс по офису, а не по клиентам

Обычно веб-мастеры ставят в настройках тот часовой пояс, в котором находится компания, в которой работают.

Какой часовой пояс установить в Метрике

Часовой пояс в настройках

В разделе «Отчеты» — «Аудитория» есть статистика посещений сайта по времени суток. Время суток определяется по указанному в настройках часовому поясу. Если он выбран некорректно, данные будут неверны.

Статистика по времени визитов аудитории

Визиты в Метрике

Причем выбирать часовой пояс стоит по целевой аудитории, а не местоположению самой компании, ведь люди заходят на сайт по своему времени, а время в отчетах стоит по настройке Метрики.

Геоположение большинства клиентов можно определить по сводке «География» в разделе «Аудитория».

Местоположение аудитории сайта

География клиентов

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

Блокировка Вебвизора

Иногда бывает, что Вебвизор выдает ошибку и не показывает посещения страницы. В качестве возможных причин ошибки высвечивается:

«Невозможно воспроизвести посещение на этой странице. Возможные причины:

  • Не установлен код счётчика
  • Установлен запрет на отображение страницы во фрейме»

Проверьте, включен ли Вебвизор в настройках счетчика. Иногда Вебвизор выключается — если не смотреть записи в течение последнего полугода. Тогда нужно просто включить опцию заново.

Блокировщик рекламы заблокировал и Вебвизор

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

Если дело в этом, зайдите в настройки блокировщика рекламы и добавьте в «белый список» webvisor.com и metrika.yandex.ru, после чего перезагрузите Метрику.

Фаервол блокирует Вебвизор

Антивирус, фаервол компьютера или корпоративной сети может блокировать доступ к доменам:

  • metrika.yandex.ru;
  • mc.yandex.ru;
  • *.yandex.tld.
  • *.yandex.net в случае, если в настройках Вебвизора включена «Загрузка страниц в плеер» — «От имени анонимного пользователя».

Чтобы исправить это, нужно добавить домены в доверенные.

Сервер блокирует Вебвизор

Проблема может заключаться в защите от показов в iframe.

Как это понять:

  1. Откройте страницу Вебвизора или Карт в Метрике.
  2. Откройте консоль в инструментах разработчика: кнопка F12 — Console, горячие клавиши Ctrl + Shift + J или ⌥ + ⌘ + J для Apple.
  3. Перезагрузите страницу. Должны появиться сообщения об ошибках, подсвеченные красным. Об ошибке будет свидетельствовать X-Frame-Options: SAMEORIGIN или X-Frame-Options: DENY.

Решить эту проблему можно, если убрать запрет в конфигурации сервера, файле htaccess или настройках CMS. Придется удалить код защиты, это увеличивает уязвимость сайта. Веб-мастерам приходится выбирать, что приоритетнее: безопасность или работа Вебвизора.


Расскажите, с какими еще ошибками в настройке Метрики вы сталкивались?

Про перекос данных в Google Analytics есть отдельная статья «10 популярных ошибок настройки Google Analytics и способы их исправить».

Владельцем сайтов рекомендуется запрещать отображение страниц во фреймах на сторонних доменах, что защитит от атак типа clickjacking и некоторых других. Особенно актуально это для интернет-магазинов и сервисов.

Примером такой атаки может быть случай, когда под видом надежного сайта, злоумышленник у себя на домене подсовывает пользователям вредоносный код. Вариантов применения масса — подписка на ресурс в социальной сети, кража конфиденциальной информации, совершение покупок в интернет-магазинах за чужой счёт.

И вообще, если вы не YouTube, то не стоит, без видимой причины разрешать кому попало отображать у себя содержимое вашего сайта.

Не единственный, но рекомендуемый на сегодня способ запрета отображения веб-страницы внутри фрейма — использование заголовка X-Frame-Options, однако и он не идеален и иногда приводит к проблемам, например к некорректной работе Вебвизора в Яндекс.Метрике.

Разбираемся как настроить защиту и что делать если проблемы все таки-возникают.

Заголовок HTTP ответа от сервера X-Frame-Options служит инструкцией для браузера, он разрешает или запрещает отображение страниц вашего сайта во фрейме. Может иметь три значения:

SAMEORIGIN
Разрешает загрузку страниц сайта во фрейме только если фрейм и страница расположены на одном домене.

DENY
Запрещает загрузку во фрейме.

ALLOW-FROM domain
Разрешает загрузку во фрейме только для указанного домена, не работает для Safari и Firefox.

Защита от фреймов в 1С-Битрикс

В 1С-Битрикс ограничение работы во фрейме включается на странице «Защита от фреймов» (Настройки — Проактивная защита — Защита от фреймов).

Защита от фреймов 1С-Битрикс

На вкладке «Исключения», можно указать страницы сайта, для которых ограничения не будут применяться. Также добавить свою страницу в исключения можно определив константу B_SECURITY_FRAME в значение false, до подключения ядра.

Важно! Чтобы данный функционал 1С-Битрикс корректно работал, заголовок X-Frame-Options на сервере должен быть установлен в значение SAMEORIGIN (как это сделать, читайте далее). Если заголовок отсутствует или установлен в значение отличное от рекомендуемого, «Сканер безопасности» 1С-Битрикс расценит это как потенциальную угрозу сайту и будет показывать соответствующее предупреждение в своём журнале.

Сканер безопасности

Как настроить X-Frame-Options на Nginx

1. Найти секцию server, отвечающую за обработку запросов нужного сайта. Как правило это файлы в /etc/nginx/site-enabled/*.conf

Для версий Bitrix VM ниже 7.0 и чистого nginx скорее всего это будет файл /etc/nginx/nginx.conf или etc/nginx/bx/conf/bitrix.conf

Для Bitrix VM 7.0 и выше заголовок вынесен в отдельный файл /etc/nginx/bx/conf/http-add_header.conf

2. В секцию server нужного сайта добавить или закомментировать строку в зависимости от того хотите вы включить использование заголовка или выключить:

add_header X-Frame-Options SAMEORIGIN;

или

#add_header X-Frame-Options SAMEORIGIN;

3. Перезапустить nginx

systemctl restart nginx.service

или

service nginx restart

Как настроить X-Frame-Options на Apache

1. Найти конфигурационный файл для вашего сайта, зачастую это файлы /etc/apache2/httpd.conf, /etc/apache2/vhost.d/*.conf

2. Добавить или закомментировать строки в зависимости от того хотите вы включить использование заголовка или выключить:

<IfModule headers_module>
    Header set X-Frame-Options SAMEORIGIN
</IfModule>

или

<IfModule headers_module>
    #Header set X-Frame-Options SAMEORIGIN
</IfModule>

3. Перезапустить Apache

Либо внести эти же инструкции в файл .htaccess, при этом перезапуск сервера не требуется.

Решение проблем

Если вы используете сервисы, которым необходимо открытие вашего сайта во фрейме то ограничение работы во фрейме скорее всего приведёт к тому, что эти сервисы перестанут работать или будут работать некорректно.

Самой известной проблемой является некорректная работа Вебвизора от Яндекс. Данные собираются валидно, но при попытке просмотреть запись посещения возникает ошибка: «Невозможно воспроизвести посещение на данной странице. Возможные причины: Не установлен код счётчика или установлен запрет на отображение страницы во фрейме.»

Варианты добавления в конфиги исключений сводят всю идею X-Frame-Options на ноль, так как могут быть легко подделаны. Поэтому варианты типа приведенного ниже могут использоваться, но не рекомендуются.

location / {
        set $frame_options '';
        if ($http_referer !~ '^https?://([^/]+.)?(yourdomain.com|webvisor.com)/'){
            set $frame_options 'SAMEORIGIN';
        }
        add_header X-Frame-Options $frame_options;
        ...
    }

Для решения проблемы вам придётся сделать выбор: либо сервис (в данном случае вебвизор), либо безопасность, других вариантов пока к сожалению не существует.

Полезные ссылки

Защита от фреймов в 1С-Битрикс
Яндекс.Метрика: Подключение и настройка Вебвизора 1.0
Атака Clickjacking и защита от неё
Документация на MDN

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Оглавление

    • Проактивная защита в Битрикс
    • Работа с яндекс метрикой
  • Разрешаем работу сайта во фрейме для метрики
  • Итог

Проактивная защита в Битрикс

В Битрикс в модуле «Проактивная защита» есть очень полезная опция: Защита от фреймов. Я советую её включать в обязательном порядке.

Эта опция защищает сайт от Clickjacking атак. Если вкратце, то суть этой атаки сводится к тому, что злоумышленник заманивает администратора на свой сайт, на котором через iframe вставлен атакуемый сайт. Фрейм устанавливается прозрачным. Администратор, думая, что нажимает на кнопку на сайте хакера, на самом деле жмет кнопку на своем сайте. Получается хакер может от имени администратора выполнять действия на атакуемом сайте.

Когда включена защита от фреймов, сайт говорит браузеру, что его показ в iframe запрещен (через заголовок X-Frame-Options: DENY).

Защита от фреймов Битрикс

Работа с яндекс метрикой

В метрике есть инструменты, которые показывают аналитику поверх сайта: вебвизор, карта кликов… Проблема в том, что яндекс сайт отображает тоже через фрейм. А его работу мы запретили. У нас отображение содержимого внутри фрейма не поддерживается.

При открытии вебвизора, вы можете получить ошибку:

Невозможно воспроизвести посещение на данной странице. Возможные причины:
Не установлен код счётчика. Как проверить?
Установлен запрет на отображение страницы во фрейме. Как исправить?
Попробовать открыть на http://webvisor.com

Если код счетчика установлен верно, то проблема скорее всего в запрете отображения во фрейме. Исправим проблему того, что яндекс метрика не работает на сайте Битрикс.

Разрешаем работу сайта во фрейме для метрики

Для того, чтобы отключить на какой-то странице защиту от фреймов, нужно установить константу BX_SECURITY_SKIP_FRAMECHECK в true.

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

Всё что нам понадобится, это добавить код в /local/php_interface/init.php или /bitrix/php_interface/init.php. Смотря какой файл у вас есть, в тот и добавляйте. Если нет никакого, создайте файл.

if (isset($_SERVER['HTTP_REFERER']))
{
	/*
	*	При просмотре сайта через Яндекс.Метрику
	*	не запрещать показывать сайт во фрейме
	*/
	
	$metrikaHosts = [
		'webvisor.com',
		'metrika.yandex',
		'metrika.yandex.ru',
		'metrika.yandex.ua',
		'metrika.yandex.com',
		'metrika.yandex.by',
		'metrika.yandex.kz',
		$_SERVER['HTTP_HOST'],
	];
	
	$refHost = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);

	if (in_array($refHost, $metrikaHosts))
	{
		define('BX_SECURITY_SKIP_FRAMECHECK', true);
	}
}

Так же, пользователь в метрике может нажать «Взаимодействие с сайтом» и переходить по ссылкам на сайте прямо внутри метрики. В таком случае HTTP_REFERER будет содержать наш же сайт. Я это исправил добавлением $_SERVER[‘HTTP_HOST’] в разрешенные адреса.

Итог

Сайт защищен от Clickjacking атак, яндекс метрика отображает отчеты без ошибок.

Читайте так же.

Уязвимости web приложений применительно к Битрикс

Пожалуйста, оцените на сколько вам понравилась статья!

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти все свои аккаунты стим
  • Как составить личный жизненный план карьеры
  • Как исправить баг дискорда
  • Найти как сиськи целуются
  • Как найти личное дело подсудимого

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии