Отображение внутри фрейма не поддерживается. Запрет на отображение страницы во фрейме: что делать

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

Что такое Clickjacking и как оно работает

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

Кстати, так когда-то были взломаны многие сайты, включая Twitter, Facebook, PayPal… Ну и конечно же, во ВКонтактике такая бага тоже когда-то была. Идея довольно простая:

  • Юзер как-то попадает на страницу злоумышленника. Способ не важен. Реклама, спам и т.д.

2. На странице есть обычная ссылка, например, “1000 Free Spins!”.

3. Поверх этой ссылки вредоносная страница размещает прозрачный <iframe> с src с сайта, например, facebook таким образом, что кнопка Like находится прямо над этой ссылкой.

4. При попытке клика на эту ссылку посетитель на самом деле нажимает на кнопку Like.

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

Иллюстрация Clickjacking-атаки. Пользователь заманивается на страницу, на которой ему предлагают сыграть в крутую игру. На странице уже наложен полностью прозрачный iframe со ссылкой удаления страницы на Twitter. Координаты и размеры кнопок совпадают. Если у пользователя в cookies браузере есть незакрытая сессия на Twitter, то при клике на кнопку Play, он на самом деле нажмет на «Okay, I want to delete my account»

Иллюстрация Clickjacking-атаки. Пользователь заманивается на страницу, на которой ему предлагают сыграть в крутую игру. На странице уже наложен полностью прозрачный iframe со ссылкой удаления страницы на Twitter. Координаты и размеры кнопок совпадают. Если у пользователя в cookies браузере есть незакрытая сессия на Twitter, то при клике на кнопку Play, он на самом деле нажмет на «Okay, I want to delete my account»

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

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

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

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

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

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

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

Браузер использует блокировщик рекламы

Если не работает карта кликов по этой причине, вы можете легко исправить проблему. Для этого выполните такие шаги:

  1. Кликните правой клавишей мышки на значок блокирующего приложения.
  2. Нажмите «Параметры».
  3. Выберите «Белый список».
  4. Добавьте webvisor.com и metrika.yandex.ru.
  5. Перезагрузите метрику.

Проблема решена!

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

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

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

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

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

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

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

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

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

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

Возвращаемся к проблеме

Но как же быть с нашей проблемой? А никак. Если это не самостоятельный сайт.

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

Поэтому веб-визор спотыкается на показах. Ему просто не дают показать сайт во фрейме.

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

Пользователи сервиса Tilda, например, тоже не могут просмотреть тепловые карты.

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

Все они отдают специальный заголовок:

«X-Frame-Options: SAMEORIGIN» или «X-Frame-Options: DENY»

Первый дает браузеру понять: — «Отображать мои страницы во фреймах можно только в пределах моего домена!».

Второй же, более злой: — «Отображать мои страницы во фреймах нельзя ни при каких условиях!».

Вы можете сами проверить, какие заголовки отдаются определенным сайтом или конструктором. Это можно сделать здесь: https://vk.cc/azT5kc

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

Выгружать сайт полностью из сервиса и размещать на сервере или шаред-хостинге, где вы будете иметь доступ к настройкам веб-сервера.

Это все касалось многочисленных конструкторов сайтов. Теперь по CMS.

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

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

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

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

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

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

Как снять запрет показа страницы во фрейме?

Тут тоже может быть несколько вариантов. Запрет может стоять на уровне:

  • конфигурации сервера. Если у вас виртуальный хостинг, то без помощи техподдержки проблему не решить.
  • файла htaccess. Этот конфигурационный файл находится в корневой директории. Открываете его и удаляете нужную строчку.
  • скрипта. Многие CMS зашивают отправку данного заголовка в свои библиотеки безопасности, и вычислить их бывает достаточно сложно.

Например, в WordPress базовая защита стоит на уровне скрипта (wp-includes/functions.php). Или она может вызываться через плагин безопасности (известно, что плагин Security Pack может давать такой эффект).

Но и тут нет ничего сложного. Нужно просто пробежаться по файлам системы управления и поиском по фразе найти нужные файлы, из которых вырезать (или закомментить нужную строку). Нужная строка, это: header(«X-Frame-Options:sameorigin»);

Что с CMS?

Некоторые CMS имеют свою, встроенную защиту от фреймов, включенную по умолчанию. Таким примером может послужить 1С Bitrix с их защитой от фреймов.

Так что, если ваш сайт работает на Битрикс и веб-визор у вас не работает по вышеописанным причинам, то варианта у вас два:

  • Отключить защиту от фреймов вообще
  • Добавить домены веб-визора в исключения

Оба способа можно применить из админки. Идем в «Настройки» -> «Проактивная защита» -> «Защита от фреймов».

Запрет на отображение страницы во фрейме. Или зачем Яндекс.Метрика использует Clickjacking!

Откроется страница, где будет вкладка «Исключения». Нужно добавить в исключения следующие адреса:

*/metrika.yandex.ru/*

*/webvisor.com/*

*/webvisor.com/inpage/*

http://webvisor.com/*

^https?://([^/]+.)?yourdomain.ru>|([^/]+.)?webvisor.com/

Замените yourdomain.ru на свой домен.

Затем проследуйте в .htaccess (для Apache) и удалите строку (если она есть):

Header always append X-Frame-Options SAMEORIGIN

Или, если у вас nginx, то идем в конфиг nginx.conf и удаляем строку (если она есть):

add_header X-Frame-Options “SAMEORIGIN”;

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

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...