Тарифы Услуги Сим-карты

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

Возвращаясь к теме защиты контента сайта, нужно упомянуть еще защиту от просмотра сайта во фрейме другого сайта. Кроме того, что никто не сможет таким способом использовать ваш контент, в какой-то мере это поможет защититься от DDoS-атак, когда на сайте с большой посещаемостью ставится скрытый iframe со ссылкой на атакуемый сайт. Посещая основной сайт, пользователи помимо своей воли открывают также и сайт-жертву, создавая огромную нагрузку на него. Такие инциденты уже неоднократно происходили. В этой статье я попытался собрать различные способы защиты сайтов от открытия во фрейме и различные способы их преодоления.

Первый способ защиты основан на скриптах JavaScript. Его суть сводится к тому, что проверяется соответствие top-окна открытой странице, если они не совпадают, значит страница открыта во фрейме. При обнаружении такой несправедливости браузер перенаправляется на другую страницу. Я использую вот такой вариант скрипта для "побега" из фрейма:Есть еще один похожий вариант, который делает почти то же самое:И, наконец, скрипт, останавливающий загрузку страницы, если она открывается во фрейме. На мой взгляд, очень сомнительный способ.Все эти скрипты, понятное дело, должны находиться на защищаемом сайте. Долгое время все эти способы прекрасно работали, пока в HTML5 не появился специальный атрибут тега iframe - sandbox , который позволяет установить ограничения на контент, загружаемый во фрейме. Если этот атрибут имеет пустое значение, то на любой странице, которая открыта в этом фрейме, скрипты выполняться не будут. Соответственно, не выполнится и скрипт для "побега"."Песочница" поддерживается всеми современными браузерами (список браузеров и версии вы можете посмотреть ).

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

Против первых двух скриптов, с помощью которых страница пытается "выпрыгнуть" из фрейма, поможет следующий скрипт, основанный на событии onbeforeunload , которое наступает, когда фрейм пытается подменить основную страницу.Браузер выдаст предупреждение, достаточно отменить переход и все, родительская страница на месте и во фрейме открыта нужная страница. Скрипты на ней при этом нормально выполняются. Не забывайте только снимать обработчик onbeforeunload , когда фрейм будет полностью загружен, иначе это же сообщение появится при любом переходе со страницы.

Для противодействия трюку с onbeforeunload надо использовать скрипт "Frame-Killer #3" или же вызывать первые два с небольшим интервалом.Рано или поздно пользователю наскучит диалог предупреждения, и, даже если защищенная страница откроется, нормально поработать с ней все равно не получится. А при использовании этого метода в браузерах Firefox и Chrome предупреждение об уходе вообще появилось только один раз, после чего страница спокойно "выпрыгнула" из фрейма.

На этом цепочку противостояния хитрой жопы и хера с винтом лучше остановить и перейти к защите на стороне сервера. Чтобы установить полный запрет загрузки вашего сайта во фреймах на других ресурсах, достаточно добавить в заголовки ответа сервера новый заголовок "X-Frame-Options". У заголовка может быть одно из трех значений:

  • SAMEORIGIN - Страница откроется во фрейме только в том случае, когда родительский документ расположен на том же домене. Оптимальный вариант для большинства сайтов.
  • DENY - Полный запрет открытия страницы во фрейме, независимо от домена.
  • ALLOW-FROM domain - Разрешает открывать страницу во фреймах указанного домена. Это значение поддерживается не всеми браузерами, поэтому его лучше не использовать.
Если в качестве веб-сервера используется Apache, то проще всего прописать этот заголовок в файл .htaccess

#
Header always set X-Frame-Options SAMEORIGIN
#

В этом случае он будет автоматически добавлен ко всем запрашиваемым страницам и документам. Если требуется добавлять заголовок X-Frame-Options не ко всем страницам, или же контролировать открытие на основании домена, или у вас нет возможности отредактировать файл.htaccess, или веб-сервер его не поддерживает, то лучше всего передавать этот заголовок в движке самого сайта. Например, на PHP.Также можно делать проверку на разрешенные домены, которая будет работать независимо от браузера клиента:Использование всех перечисленных методов защиты от просмотра сайта во фрейме позволит вам защититься от

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

Сам счётчик можно создать здесь:

а описание и помощь — здесь:

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

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

Благодаря вебвизору, я переписал часть контента, и страница стала давать минимум на 70% больше целевых действий (на том сайте это был обратный звонок), то есть почти в два раза больше отдачи на одном и том же материале.

Обратите внимание на цветной курсор мышки, линии движения пользователем и то, как прокручивается экран (начиная с 24-й секунды). Это всё делает пользователь, а владелец сайта может пронаблюдать потом в записи.

Но при пользовании вебвизором могут возникнуть проблемы.

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

На странице должен быть установлен код счетчика

В этом случае нужно перейти в настройки счётчика, поставить галочку около слова «Вебвизор», а после этого — обязательно! — нажать кнопку сохранить. Без нажатия этой кнопки получить доступ к записям поведения пользователя не получится

С этой страницей что-то не так. Мы не можем воспроизвести посещение на ней. Возможные причины:Не установлен код счётчика

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

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

Для Google Chrome это делается следующим образом:

Откройте меню Chrome на панели инструментов браузера.Нажмите Инструменты.

Выберите Расширения.

На открывшейся странице снимите флажок «Включено» рядом с расширением, которое требуется временно отключить.

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

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

С уважением, Александр Крылов

p.s. Нужно учитывать, что периодически сервис вебвизора сам по себе становится недоступным. На моей памяти в первый раз это было заметно в конце 2014 года, а во второй раз — в конце января 2015 года

Книга, которая магическим образом умудряется оставаться полезной, даже при том, что 70% содержания не про уборку. Впрочем книга достаточно открыто об этом заявляет прямо с названия.

Большая часть книги — личные ми-ми истории и какая-то антинаучная ересь про «разговаривайте с вещами», «передавайте энергию одежде», «благодарите вещи».

Оставшаяся часть — вполне себе годная. Может излишне просто и очевидно, но еще никогда для меня избавление от ненужных вещей не было таким простым. Мне кажется, что порядка стало больше на процентов 20%, а подготовил на выброс аж целую коробку вещей. И эти вещи у меня «просто стояли», понимаете? Открываешь ящик, а там туфли… ты смотришь, они на тебя смотрят, закрываешь. И так 9 лет. Зачем они там стояли, а?

Главное же достоинство книги в том, что она тайно и как бы исподтишка учит принимать решения. Может быть не самые high-stakes решения, но c чего-то надо начинать. Как учит? Через умение определять, что вам нужно дальше по жизни, а что нет.

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

2. Уборка = избавление от ненужного и определение, где хранить нужное. Избавление стоит на первом месте.

Если бы фокус был: «От чего избавиться?», то пошли бы лукавые ответы «Да все полезное» и «Когда-нибудь точно пригодится», а тут прекрасный вариант — все, что не хотим сохранить, удаляется.

4. Возьмите вещь в руку и спросите себя «Вызывает ли эта вещь радость?»

Ну это уже крайность. Можно просто посмотреть

5. Большинство людей испытывают шок уже при виде самого объема груды вещей, который нередко по меньшей мере ВДВОЕ превышает то количество, которые они себе представляли

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

6. Эксперт по переработке вторсырья под псевдонимом «мама»

В каждой шутке есть доля шутки.

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

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

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

9. Начните с одежды, затем переходите к книгам, документам, категории «разное» и, наконец, вещам, имеющим сентиментальную ценность

11. То, что вы носите дома, активно влияет на ваше представление о себе

12. Если вы — женщина, носите в качестве ночной одежды что-нибудь женственное или элегантное.

Эти 5 штук явно Капитан Очевидность диктовал.

13. Складывание как главный метод хранения. От 20 до 40 предметов одежды в том же пространстве, которое требуется для развешивания 10 вещей.

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

14. Когда мы берем свою одежду в руки и аккуратно ее складываем, мы, как я полагаю, передаем ей энергию оказывающую на нашу одежду положительное воздействие.

Вот это та милая незамутненная дичь, о которой я говорил в начале. Увы, такого много. Она регулярно к ней возвращается. Я воспринимаю это как детские сказки. Вы можете воспринимать, как вам захочется.

Складывание — это форма диалога с нашим гардеробом.

15. Не диалога, а диагностики своего гардероба.

Хранить вещи в вертикально, а не в лежачем положении.

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

18. Беспорядок от того, что у вещей нет определенного места хранения.

Когда ты чем-то воспользовался, то мотивация что-то делать с этим предметом спала (ну там доминанта ушла и т.д.) и, если нет места, то это надо аж целое решение принять — куда это положить. Подумать нужно. А мозг это напрягает (1) и он кладет это куда-угодно, лишь бы быстрее. Но если есть место — решения принимать не нужно, думать не нужно. Мозгу нравится, когда не нужно думать, поэтому бездумно дойти и положить - это ок. И у вас порядок. Поэтому нужно для всех вещей продумывать четкие места. И для вещей других людей тоже, если не хотите беспорядка от них.

19. Хранение должно снижать объем усилий, необходимых, чтобы класть вещи на места, а не усилий, необходимых для того, чтобы доставать их.

В копилку предыдущего высказывания.

20. Представление о том, что намного удобнее хранить все в пределах досягаемости, — это, как правило, неверное допущение.

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

Лучше не использовать коробки с надписями

23. «Спасибо за то, что благодаря тебе весь день мне было тепло»

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

Вот таких вещей в книге будет достаточно, а не 1-2 раза.

Список ссылок

  1. “Decision Making and the Avoidance of Cognitive Demand”, Wouter Kool, Joseph T. McGuire, 10.1037/a0020198

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

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

Проверяем, нет ли проблем на вашей стороне
Бывает, что проблема может находиться на стороне клиентской части, к примеру, блокироваться дополнениями браузера, антивирусом, и другими программами. Проверяем доступ к metrika.yandex.ru , mc.yandex.ru , *.yandex.net , бывает, что доступ могут прикрывать фаерволы на уровне корпоративной сети, этот момент так же следует учитывать.

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

Как понять, блокирует ли фреймы сервер или нет?
Чтобы узнать есть ли запрет на стороне веб-сервера нам необходимо просмотреть заголовки ответа вашего сайта. Просмотреть заголовки ответа вы можете открыв консоль разработчика в браузере (Ctrl+F12), либо с помощью какого-либо онлайн-сервиса, например этот .

После появления заголовков ответа, нас интересует наличие строки:
X-Frame-Options: SAMEORIGIN

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

Разрешаем веб-визор в Nginx
Так как Nginx уже отправляет заголовок для всех виртуальных хостов, нам необходимо найти конфигурационный файл, откуда этот заголовок подключается. По умолчанию в системе Linux конфигурационные файлы располагаются в директории /etc/nginx/, и имена файлов оканчиваются на *.conf. Вам предстоит найти файл, в котором и прописываются заголовок, а так же закомментировать его:

# add_header X-Frame-Options SAMEORIGIN;

После этого в настройках виртуального хоста прописать небольшое правило, которое будет запрещать все попытки использования фреймов на сторонних доменах кроме доменного имени *.webvisor.com .

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

Обратите внимание, что в исключение добавляется субдомен, там, где указано yourdomain.com – вы прописываете свой. После внесений изменений в конфигурационный файл, необходимо перезапустить Nginx, чтобы параметры вступили в силу. При использовании других серверов, их так же следует настроить таким образом, чтобы заголовок X-Frame-Options не отправлялся для вебвизора.
Если вы делаете отправку заголовков через скрипты, то вы можете воспользоваться регулярным выражением для проверки:

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

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