Метод отслеживания посетителей сайтов при помощи CSS, без JavaScript

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 16 Jan 2018.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,373
    Likes Received:
    6,619
    Reputations:
    693
    Jan Böhmer опубликовал прототип системы для организации отслеживания перемещения посетителей по сайтам, который ограничивается использованием только CSS и не требует выполнения кода на JavaScript. При размещении на сайте представленного кода организуется передача на внешний сервер базовой информации о посетителе, включая сведения о разрешении экрана, типе браузера и наличии заданных шрифтов. На основе различий в доступных шрифтах можно определить тип ОС.

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

    Реализация использует возможности CSS по добавлению изображений из внешних источников при помощи свойства url("foo.bar") - так как ресурсы загружаются только при необходимости, можно указать вместо изображения ссылку на внешний скрипт-сборщик статистики и привязать к таким событиям, как переход на ссылку или подведение мыши к ссылке. Например для отслеживания кликов можно использовать код:
    Code:
    #link2:active::after {
          content: url("track.php?action=link2_clicked");
       }
    Для определения идентификатора бразуера можно использовать правила @supports для проверки наличия специфичных для каждого типа браузеров свойств CSS, например, только браузеры на движке Chromium поддерживают свойство "-webkit-appearance":
    Code:
     @supports (-webkit-appearance:none) {
          #chrome_detect::after {
              content: url("track.php?action=browser_chrome");
          }
       }
    Для определения наличия шрифтов в CSS создаётся новое фиктивное семейство шрифтов, в качестве источника для загрузки которого указывается внешний скрипт-сборщик данных. Далее формируются проверочные блоки текста в котором первым указывается проверяемый шрифт, а вторым фиктивный шрифт. Если проверяемый шрифт присутствует, то второй шрифт будет игнорирован, но если проверяемого шрифта нет, браузер попытается использовать фиктивный шрифт как запасной вариант и отправит запрос к внешнему скрипту:
    Code:
    @font-face {
          font-family: Font1;
          src: url("track.php?action=font1");
       }
       #font_detection1 {
          font-family: Calibri, Font1;
       }
    

     
  2. Zen1T21

    Zen1T21 Member

    Joined:
    13 Jan 2013
    Messages:
    157
    Likes Received:
    37
    Reputations:
    2
    Полезная инфа, спасибо, а то сиськи одни
     
    uzeerpc likes this.
  3. \/IRUS

    \/IRUS Elder - Старейшина

    Joined:
    3 Aug 2012
    Messages:
    371
    Likes Received:
    497
    Reputations:
    37
    я могу вам по секрету сказать что на чистом HTML 1.0 до сих пор можно локально файлы читать и на внешний источник отправлять из юзермода, правда для винды только и под определенным CLASSID
     
  4. devton

    devton Elder - Старейшина

    Joined:
    26 Oct 2007
    Messages:
    3,380
    Likes Received:
    5,179
    Reputations:
    48
    erwerr2321 and Triton_Mgn like this.
  5. Triton_Mgn

    Triton_Mgn Elder - Старейшина

    Joined:
    6 Jul 2015
    Messages:
    3,644
    Likes Received:
    5,702
    Reputations:
    51
    Всё мы помнонмним, сколь трахнул?
     
  6. Triton_Mgn

    Triton_Mgn Elder - Старейшина

    Joined:
    6 Jul 2015
    Messages:
    3,644
    Likes Received:
    5,702
    Reputations:
    51
    Дежавю