gecko 20100101 что это

Много анонимности не бывает — скрываем User-Agent

Очередной приступ паранойи был вполне обоснован — он наступил после прочтения статьи о методах анонимности в сети, где автор на примере браузера FireFox рассказывал о потенциальных утечках идентификационной информации. И стало интересно — а на сколько озвученные решения применимы, скажем, к браузеру Google Chrome?
Скрыть реальный IP — используем разные VPN сервера, отключить львиную долю отслеживающих скриптов — Adblock Plus и Ghostery, убрать Referer — не вопрос, что то ещё забыли… Ах да — User-Agent — своеобразный «отпечаток», по которому (в связке, скажем, с IP) легко идентифицировать пользователя. И с этим надо было что-то делать. Найденные решения лишь статично изменяли значение User-Agent, чего было явно недостаточно. Тогда и было решено написать плагин для скрытия реального User-Agent’a, а если быть точнее — подменять его на рандомный. Или почти рандомный.

Для нетерпеливых сразу: исходники на GitHub и расширение в Google Webstore.

gecko 20100101 что это

Немного теории

Вообще, User-Agent (далее по тексту — UA) — штука нужная. Нужная в первую очередь для корректного отображения страниц, ведь нам всем известно — разные версии разных браузеров по разному рендерят странички, и заботливые web-программисты учитывают этот факт, выдавая нужным браузерам нужным скрипты и стили. Разнится поддержка доступных технологий «движками». Отсюда вытекает первое требование к итогу — возможность «имитировать» различные браузеры, и что самое важное — иметь возможность выбора между ними.
UA — это в первую очередь набор. Набор различных идентификаторов, по которым и происходит определение — какой браузер, какая операционная система, какой версии, и какое специфичное ПО (привет, IE) стоит у пользователя.
Почему именно IP и UA надо скрывать в первую очередь? А давайте посмотрим на лог пустого сайта-заглушки, на котором вообще ничего нет:

На сайте ничего нет, а я знаю о посетителе более чем достаточно. Всё потому что «логи знают всё» ©.

Немного практики

История изменений

Источник

Что такое User Agent (пользовательский агент) браузера?

Ваш браузер отправляет свой пользовательский агент на каждый веб-сайт, к которому вы подключаетесь. Мы уже писали об изменении пользовательского агента веб браузера — но что такое User Agent?

Пользовательский агент (User Agent) — это строка текста, идентифицирующая браузер и операционную систему для веб-сервера. Это звучит просто, но со временем в пользовательских агентах стало много запутанного.

Основы

Когда ваш браузер подключается к веб-сайту, он добавляет поле User-Agent в передаваемые им HTTP заголовки. Содержимое поля пользовательского агента варьируется от браузера к браузеру. Каждый браузер имеет свой собственный, уникальный пользовательский агент. По сути, пользовательский агент — это способ для браузера сказать «Привет, я Mozilla Firefox в Windows» или «Привет, я Safari на iPhone» веб-серверу.

Веб-сервер может использовать эту информацию для обслуживания разных веб-страниц для разных веб-браузеров и разных операционных систем. Например, веб-сайт может отправлять мобильные страницы в мобильные браузеры, современные страницы в современные браузеры и сообщение «Пожалуйста, обновите ваш браузер» для Internet Explorer 6.

Понимание пользовательских агентов

Например, вот пользовательский агент Firefox в Windows 7:

Этот пользовательский агент довольно много говорит веб-серверу: операционная система Windows 7 (кодовое имя Windows NT 6.1), это 64-разрядная версия Windows (WOW64), а сам браузер Firefox 12.

Теперь давайте посмотрим на пользовательский агент Internet Explorer 9, который:

Строка агента пользователя идентифицирует браузер как IE 9 с механизмом рендеринга Trident 5. Однако вы можете заметить что-то непонятное — IE идентифицирует себя как Mozilla.

Мы вернёмся к этому через минуту. Но сначала, давайте также рассмотрим пользовательский агент Google Chrome:

gecko 20100101 что это

Всё ещё хуже: Chrome притворяется и Mozilla, и Safari. Чтобы понять почему, нам нужно изучить историю пользовательских агентов и браузеров.

Что означает строка пользовательского агента

Mosaic был одним из первых браузеров. Его строка агента пользователя была NCSA_Mosaic/2.0. Позже появился Mozilla (позже переименованный в Netscape), а его пользовательским агентом был Mozilla/1.0. Mozilla был более продвинутым браузером, чем Mosaic — в частности, он поддерживал фреймы. Веб-серверы проверяли, что пользовательский агент содержит слово Mozilla, и отправили страницы, содержащие фреймы, в браузеры Mozilla. В другие браузеры веб-серверы отправляли старые страницы без фреймов.

В конце концов появился Microsoft Internet Explorer, который также поддерживал фреймы. Однако IE не получал веб-страницы с фреймами, потому что веб-серверы просто отправляли их в браузеры Mozilla. Чтобы решить эту проблему, Microsoft добавила слово Mozilla к своему пользовательскому агенту и добавила дополнительную информацию (слово «compatible» и ссылку на IE). Веб-серверы были рады видеть слово Mozilla и отправили IE на современные веб-страницы. Другие браузеры, которые появились позже, делали то же самое.

В конце концов, некоторые серверы искали слово Gecko — движок рендеринга Firefox — и обслуживали браузеры Gecko на иных страницах, чем старые браузеры. KHTML — изначально разработанный для Konquerer на рабочем столе KDE в Linux — добавил слова «как Gecko», чтобы они также получили современные страницы, разработанные для Gecko. WebKit был основан на KHTML — когда он разрабатывался, они добавили слово WebKit и сохранили оригинальную строку «KHTML, like Gecko» в целях совместимости. Таким образом, разработчики браузеров со временем добавляли слова в свои пользовательские агенты.

Использование

Веб-серверы используют пользовательские агенты для различных целей, включая:

Боты для веб-сканирования также используют пользовательские агенты. Например, веб-сканер Google идентифицирует себя как:

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

Веб-серверы также могут отдавать приказы определенным ботам (или всем ботам) с помощью файла robots.txt. Например, веб-сервер может указать конкретному боту, что он должен уйти, или сказать другому боту, чтобы он индексировал только определённые области веб-сайта. В файле robots.txt боты идентифицируются по строкам пользовательских агентов.

gecko 20100101 что это

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

Источник

1000 и 1 способ обойти Safe Exam Browser

gecko 20100101 что этоНу ладно, не 1000 и 1 способ, но их довольно много! О чем это мы? О том, что пандемия COVID-19 внесла много изменений в нашу жизнь, в том числе, и в образование — как школьное, так и ВУЗовское. Уроки, лекции и семинары перешли в онлайн-формат, а вопрос, как быть с контролем успеваемости, остался. Как преподавателям убедиться, что сдающий экзамен студент не открыл в соседней вкладке шпаргалки?

В России эту проблему решили с помощью open-source программы Safe Exam Browser (SEB). Казалось бы, теперь ни один искатель халявы не сможет смухлевать, но так ли уж неприступна эта «крепость»? Заходи под кат, сегодня мы расскажем и покажем кучу способов обмануть SEB!

Шёл 2020-й год… Весь мир в панике, курс рубля падает, государства переходят в режим ЧС… Несмотря на все это, основное желание среднестатистического студента остается прежним — сдать сессию с наименьшими затратами сил и времени на подготовку. Казалось бы, с переходом на дистанционное обучение для студента все стало проще — нужно всего лишь сделать умное лицо при ответе на вопрос по веб-камере, а прочитать материал можно и с параллельно открытого документа на компьютере. Но не тут-то было!

Многие российские ВУЗы для проверки успеваемости студентов внедрили программу Safe Exam Browser, которая предотвращает практически все попытки читерства. Конечно, для находчивых студентов и это не препятствие — ведь можно гуглить ответы на тест и на втором компьютере (или попросить погуглить друга).

Но, поскольку мы в душе тру хацкеры, мы решили проверить, насколько этот SEB действительно помогает при проведении экзаменов и как все же программно обойти его чуткий контроль (при условии, что студент обладает базовыми навыками работы на компьютере, не впадает в ужас от слов «виртуальная машина» и знает, как установить плагин для браузера Mozilla Firefox). Готовы? Поехали!

Что такое Safe Exam Browser (SEB)?

Safe Exam Browser (SEB) — программа для проведения экзаменов, тестов и т.д. в режиме онлайн. Предусматривает защиту от:

gecko 20100101 что это

Конфигуратор SEB представляет собой приложение с интуитивно понятным интерфейсом:

gecko 20100101 что это

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

Большой простор для творчества и фантазии, не так ли?) Что же, приступим.

Для тестирования нам потребуется: программа SEB, виртуальная машина (VmWare, VirtualBox), браузер Mozilla Firefox, что-нибудь для компиляции большого проекта на C# (автор использовал Visual Studio Code), какой-нибудь образовательный ресурс (например, тест на Moodle, настроенный только для работы с SEB).

Дисклеймер: при написании статьи автору очень помогла эта статья.

1. Смена user-agent браузера

Для реализации этого способа не потребуется практически никаких знаний и инструментов. Проверим, как реагирует тест на Moodle на запуск через обыкновенный веб-браузер:

gecko 20100101 что это

Как видно из скриншота, SEB не позволяет получить доступ к тесту из обычного браузера.
Согласно документации, в качестве веб-браузера SEB использует XULRunner — движок Gecko браузера Mozilla. Попробуем подменить user-agent браузера Mozilla на user-agent, указанный в конфигураторе SEB:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0 SEB

Установим какой-нибудь плагин для подмены user-agent, например, User-Agent Switcher, и добавим к нему следующий вариант:

gecko 20100101 что это

Ловкость рук и немного мошенничества — и теперь можно спокойно приступать к тесту, параллельно открыв гугл в соседней вкладке! 🙂

gecko 20100101 что это

2. Изменение конфигурационного файла виртуальной машины

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

Сначала мы решили посмотреть, можно ли включить SEB на виртуальной машине. Здесь, к сожалению, нас постигла неудача — в таких условиях SEB даже не позволяет себя запустить. Но как-то же он понимает, что используется виртуальная машина!

Было опасение, что SEB использует не очень приятные для студента способы вроде обнаружения процессов и сервисов виртуальной машины (ВМ) в системе, но при изучении исходного кода было выяснено, что проверка на запуск из ВМ происходит в функции IsInsideVM() файла SEBWindowsClientMain.cs:

Видим, что SEB способен определить виртуальные машины производителей, которые перечислены в коде! А что, если мы изменим конфиг виртуальной машины, подменив, тем самым, производителя?

Сказано — сделано! Открываем конфигурационный файл VmWare и добавляем следующую строку:

gecko 20100101 что это

Теперь manufacturer model виртуальной машины станет таким же, как и у основной машины. Запускаем виртуальную машину, на ней включаем SEB и пытаемся получить доступ к тесту — все работает!

3. Компиляция новых версий SEB

А теперь переходим к самому интересному — компиляции «своей» версии SEB! Исходный код доступен здесь. Самое интересное, что конфигурационный файл SEB не отслеживает целостность десктопного приложения (либо отслеживает так, что мы смогли без проблем поменять большую часть кода, хи-хи), тогда как целостность конфигурационного файла, присланного экзаменатором, проверяется строже некуда.

3.1 Запуск в виртуальной машине

Итак, нужно всего лишь в приведенном выше коде закомментировать строчку с нужной ВМ:

gecko 20100101 что это

В данном случае мы скомпилировали программу таким образом, чтобы она вообще не реагировала на запуск в виртуальной машине VirtualBox. Но есть одно важное замечание: если наши читатели решат воспользоваться данным способом, то необходимо убрать/изменить логгирование событий! Виртуальная машина запустится без проблем, но в логах обязательно отразится запуск через VirtualBox.

3.2 Очистка буфера обмена

Когда SEB включается, он автоматически очищает буфер обмена. Таким образом, все, что скопировал студент до запуска SEB, в SEB не попадет. Что же, вызов принят!

Здесь можно пойти двумя путями:

При этом лучше оставить последующее логгирование — чтобы проверяющий не понял, что с собой в SEB вы захватили То-Что-Нельзя-Использовать-На-Экзамене 🙂

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

gecko 20100101 что это

Таким образом, с собой в SEB можно «пронести» любой текст, картинку — словом, шпаргалку, которую можно поместить в буфер обмена.

3.3 Помощь друга или убираем запрет на Discord

SEB похож на очень капризную женщину — при включенном Skype, Discord и т.д. он не включится, а поставит тебя перед выбором: или я, или они.

Что ж, постараемся снизить градус напряжения в такой ситуации.

Здесь есть простор для полёта фантазии, но, в целом, достаточно закомментировать подходящие по смыслу строки вроде «processToClose.Kill();» в файле SEBNotAllowedProcessController.cs.
Также советуем рассмотреть строки «SetForegroundWindow(windowHandle);», «BringWindowToTop(windowHandle);» и работу службы WatchDog. Грамотное выстраивание логики приложения и логгирования — ключ к успеху!

И мы тем временем получили запущенный Discord при работающем SEB:

gecko 20100101 что это

Что еще могут попробовать энтузиасты?

Вариантов осталось достаточно, хватит на 1000 и 1 бессонную ночь за компьютером. Например, можно перекомпилировать SEB так, чтобы он не запускался поверх всех окон, и его можно было бы свернуть как обычное приложение.

Также можно попробовать запустить SEB на других ОС (невероятно, но факт: очевидцы утверждают, что стандартный ВУЗовский конфиг для SEB на OS X даже голосовую связь по Discord остановить не может!).

Итак, способов собрать SEB с урезанным функционалом — великое множество, тут все упирается только в воображение креативных и трудолюбивых студентов!

Закончим статью народной мудростью: остановить студента в поиске халявы может только еще большая халява!

Источник

Мне нужна твоя куртка и User-Agent

User-Agent – всего лишь строчка в заголовке запроса к серверу, но за ней скрывается много интересного.

Что такое User-Agent

При посещении интернет-ресурса клиентское приложение, например браузер, посылает серверу информацию о себе.

В одной из строк HTTP-запроса начинающейся с User-Agent может содержаться:

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

Зачем нужен User-Agent

Назначение User-Agent – идентифицировать клиента.

Использовать данную информацию можно чтобы:

У кого еще есть User-Agent

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

Браузеры: Firefox, Chrome, Safari, Яндекс.Браузер, Microsoft Edge, Internet Explorer, BlackBerry, Opera, Opera Mini, iOS Safari, Chrome для Android, Samsung Internet, QQ.

Поисковые сканеры и боты: Yandex, Google, Google Images, Yahoo, TelegramBot, TwitterBot и множество других.

Консоли: PlayStation 4/5, Wii, PlayStation Portable и Bunjalloo – встроенный браузер Nintendo DS.

Устаревшие операционные системы (например, AmigaVoyager).

Оффлайн браузеры и менеджеры закачек (например, Wget и Offline Explorer).

Прочие девайсы: читалки, валидаторы, облачные платформы, медиаплееры, почтовые библиотеки и скрипты.

История User-Agent за 1 минуту

Впервые строка User-Agent появилась в Mosaic, популярном браузере начала 90-х годов.

Практической пользы от нее не было, пока не появился браузер Navigator компании Netscape. Он перенял у предшественника строку, добавив в нее сведения об операционной системе.

Mozilla в данном случае – не всем известный Firefox, выпущенный гораздо позже, а кодовое имя Netscape Navigator, аббревиатура от Mosaic Killer (убийца Mosaic).

На заре интернета, юзерагенты использовались чтобы отличать Mosaic от Mozilla, обладающих разными возможностями. В частности, Mosaic не поддерживал фреймы, а Mozilla поддерживал. Многие web-сервера могли работать только с одним из них.

В 1995 году появился Internet Explorer. Чтобы получать от серверов контент, предназначенный для его главного конкурента Mozilla, он заявил, что Mozilla-совместим и подделал свой User-Agent на Mozilla/1.22 (compatible; MSIE 2.0; Windows 95). А позже и вовсе вытеснил его, заняв 95% рынка. Теперь уже User-Agent от Internet Explorer стали подделывать другие браузеры.

Но война браузеров и браузерных движков только начиналась. Производители по-своему реализовывали функционал, что приводило к несовместимости. Сайты, написанные под определенный браузер, могли не работать в другом. Популярность браузера определялась не следованием стандартам, а поддержкой вебмастеров. Когда один из движков начинал доминировать, другим ничего не оставалось как подстроится под него. Чтобы обмануть web-сервера, приходилось имитировать популярный User-Agent.

Так User-Agent становился все запутаннее, несмотря на то, что его основным назначением было и остается правильная идентификация клиента.

Где узнать свой User-Agent

Способ 1: Онлайн

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

Способ 2: Через инструменты разработчика

Откройте инструменты разработчика, перейдите на вкладку Network, обновите страницу и выберите любой сетевой запрос.

gecko 20100101 что это

На вкладке Headers, среди прочих заголовков будет и текущий User-Agent.

Как расшифровать строку User-Agent

На момент написания статьи User-Agent браузера Chrome версии 88 выглядит так:

Edge (Chromium based)

Safari

Firefox

Самая важная здесь информация:

AppleWebKit/537.36 во всех Chromium based браузерах так же присутствует для совместимости.

В Windows 10 операционная система указана как Windows NT 10.0, рядом идет разрядность x64 или x86. Ниже пример для Edge.

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

Safari на iPhone

Chrome на Android

Некоторые приложения могут указывать в User-Agent еще и дополнительную информацию, например версию приложения, язык, разрешение экрана и прочую.

Способы изменить свой User-Agent

Свой User-Agent можно изменить. Чаще всего разработчики и тестировщики используют эту возможность, чтобы оценить, как будет выглядеть и работать сайт или web-приложение на других платформах. Но могут быть и другие причины, например для защиты приватности.

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

Как изменить User-Agent в Chrome

Способ 1: Через режим адаптивного дизайна

Откройте инструменты разработчика, далее включите режим устройства, нажав на кнопку Переключение в режим устройства (Toggle device mode).

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

gecko 20100101 что это

Если устройство с интересующим юзерагентом отсутствует в списке, его можно добавить вручную. В выпадающем меню со списком устройств выберите пункт Edit. Нажмите кнопку Add custom device. А затем добавьте устройство с интересующим юзерагентом, заполнив необходимые поля, после чего сохраните изменения.

gecko 20100101 что это

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

Способ 2: С помощью расширения Chrome

gecko 20100101 что это

Справка по расширению центре помощи Google.

Способ 3: Через инструменты разработчика

Откройте инструменты разработчика, в правом верхнем углу нажмите кнопку в виде трех точек и выберите в меню More toolsNetwork conditions.

gecko 20100101 что это

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

gecko 20100101 что это

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

Способ 4: Через запуск браузера с ключом

Запустите Google Chrome с ключем —user-agent=»new-user-agent», передав в кавычках новую строку User-Agent.

Чтобы проверить текущее значение User-Agent, введите в адресной строке Chrome следующую команду.

Как изменить User-Agent в Firefox

Способ 1: Через режим адаптивного дизайна

Как и в случае с Chrome, самый быстрый и удобный способ.

Перейдите в режим адаптивного дизайна из инструментов разработчика или сочетанием клавиш Ctrl + Shift + M, (или Cmd + Opt + M на macOS).

gecko 20100101 что это

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

Способ 2: Через конфигурацию браузера

Введите в адресной строке браузера следующую команду.

Далее найдите параметр general.useragent.override, если его нет – создайте, выбрав тип Строка. Затем установите необходимое значение юзерагента.

gecko 20100101 что это

Новое значение будет добавлено в список параметров. Перезапускать Firefox не требуется.

Как изменить User-Agent в Safari

Способ 1: Через режим адаптивного дизайна

Перейдите в режим адаптивного дизайна: Меню – Разработка – Перейти в режим отзывчивого дизайна или комбинацией клавиш Ctrl + Cmd + R.

Выберите устройство с интересующим User-Agent или добавьте свой, выбрав пункт Другой.

Если пункта Разработка в меню нет, его нужно включить. Для этого, из главного меню перейдите SafariPreferencesAdvanced (SafariНастройкиДополнения), отметьте пункт Show Develop menu in menu bar (Показывать меню Разработка в строке меню).

Способ 2: Через указание юзерагента в меню

Для версий Safari 5.1.7 и выше. Перейдите в меню РазработкаПользовательский агент. Выберите интересующий юзерагент из списка или добавьте свой выбрав пункт Другой.

Если пункта Разработка в меню нет, его нужно включить. Для этого, из главного меню перейдите SafariPreferencesAdvanced (SafariНастройкиДополнения), отметьте пункт Show Develop menu in menu bar (Показывать меню Разработка в строке меню).

Как увидеть мобильную версию сайта в десктопном браузере

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

gecko 20100101 что это

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

Как увидеть версию сайта для телевизора

Для примера можно воспользоваться главной страницей Яндекса.

При переходе по адресу https://yandex.ru пользователь видит привычную страницу поисковика.

gecko 20100101 что это

Но стоит изменить юзерагент на один из TV-шных поддерживаемых Яндексом, например такой как указано ниже или по-честному зайти на сайт с телевизора и внешний вид страницы изменится.

gecko 20100101 что это

gecko 20100101 что это

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

gecko 20100101 что это

Например, для webOS TV 5 User-Agent выглядит следующим образом.

Версия сайта для устаревших браузеров и устройств

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

Для примера можно снова воспользоваться Яндекс.

Попробуйте перейти на главную страницу поисковика, выставив юзерагент устаревшего браузера, из приведенных ниже.

Internet Explorer 9

Internet Explorer 10

Opera 12

Для старых платформ Яндекс отдает упрощённую главную страницу без виджетов, у нее забавное кодовое имя – «дедуля».

gecko 20100101 что это

gecko 20100101 что это

А если попробовать под тем же User-Agent перейти на Яндекс.Видео, пользователь увидит заглушку о том, что браузер устарел и сервис не нем работать не может.

gecko 20100101 что это

Похожую заглушку можно увидеть и для сервиса ВКонтакте.

gecko 20100101 что это

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

User-Agent и поисковые роботы

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

Управлять доступом ботов к содержимому на web-сервере можно через файл robots.txt находящегося по стандарту в корне сайта.

Например, так можно запретить доступ всех роботов ко всему сайту:

Моно запретить доступ к указанному каталогу для определённого робота, указав его User-Agent:

В секции Sitemap указывается путь к карте сайта, содержащий список того, что именно нужно индексировать робот.

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

С подобной проблемой я столкнулся, работая в Яндекс.Эфир, когда оптимизировали его перед запуском трансляций NHL.

gecko 20100101 что это

Решение оказалось простым – ботов, индексирующих сервис, мы стали определять по их User-Agent и генерировать для них легкие текстовые версии страниц.

Можно притвориться ботом и посмотреть, как выглядят эти страницы.

Yandex Bot

Google Bot

gecko 20100101 что это

User-Agent мессенджеров

Когда вы делитесь ссылкой, например в Telegram или Twitter, бот мессенджера приходит с запросом на сайт источника ссылки, чтобы получить от него изображение превью, заголовок страницы и ее описание. У бота как правило есть собственный User-Agent.

У Telegram например такой:

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

User-Agent и аналитика

Чтобы понимать, что происходит на сайте или в web-приложении и как улучшить его использование, полезно в том числе знать на каких платформах аудитория пользуется им. Если подключена одна из систем ведения аналитики, например Яндекс.Метрика или Google Аналитика, то при посещении ресурса пользователем, система помимо прочих метрик залогирует браузер (или приложение), версию, устройство и операционную систему клиента. Как вы уже догадались эта информация берется из строки User-Agent.

gecko 20100101 что это

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

Ссылки

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *