Analytics

ИТП

Обновлено 12 марта 2019 года с некоторыми незначительными уточнениями..

На 21 февраля 2019 года, в основе webkit объявили о выпуске последней версии сафари интеллектуальное отслеживание профилактики (ИТП), известный как ИТП 2.1. Для некоторое время теперь, сафари предназначенная для отслеживания кросс-сайт с ИТП, во-первых, начиная с печеньем в сторонних ситуациях, то затягивая петлю после ряда обходные пути возник, и, наконец, с последней итерации рекламные cookie-файлы, которые были перенесены из стороннего контекста контекста.

ITP

ИТП 2.1 есть одна особенность, которая сделает веб-аналитики нас люди дрожат в наших сапогах:

С ИТП 2.1, постоянные все клиентские куки, то есть куки, созданные в документе.печенье, ограничен на седьмой день экспирации.

Из блога в Webkit, а выделено мной.

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

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

Оглавление

  • Краткое введение в ИТП
  • ИТП 1.0
  • ИТП 1.1 и хранения доступ к API-интерфейс
  • ИТП 2.0
  • ИТП 2.1
  • Технические решения и последствия
  • в хранилище localStorage том же домене, просматривая
  • хранилище localStorage для кросс-поддомен просмотра
  • Набор заголовков файлов куки на стороне сервера скрипт
  • Набор-печенье в заголовки пограничном кэш
  • Веб-сервис Общий ссылка на запись типа CNAME
  • Обратный прокси-сервер в сторонний сервис
  • Серверная аналитика
  • Заключительные мысли
  • Это хорошо…
  • …но, возможно, ребенок был выброшен с водой
  • И это наверняка не последний
  • Идти вперед
  • Краткое введение в ИТП

    В следующих главах я буду использовать эти два термина:

  • Сторонних контексте означает, что ресурс из внешнего домена от одного пользователя в настоящее время (т. е. они не разделяют те же eTLD + 1), и этот запрос пытается получить доступ к куки, которые устанавливаются на этот внешний домен. Поскольку домен отличается от той, на которой находится пользователь (должен быть другой корневой домен, в принципе), взаимодействие с внешнего домена происходит в сторонних контексте.

  • Первая партия контексте означает, что ресурс запрашивается от текущей (родителя) домен (eTLD + 1) пользователю на. Поскольку пользователь находится в том же домене среды, любые просьбы происходят в контексте.

  • ИТП 1.0

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

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

    ITP

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

    Помните: ИТП основных методов работы является предотвращение отслеживания кросс-сайт. Это интеллектуальный отслеживания профилактики, не умный печенья профилактике.

    Естественно, с с AdTech это неудобно. Весь смысл трекинга пикселей, что он прозрачный и ненавязчивый. Что бы вы подумали, если бы вы вдруг оказались перенаправлены на напр. doubleclick.net и спрашивает, если это нормально, что компания Google продолжает наращивать аудиторию профиль вашего веб-браузера в поведении?

    ITP

    От https://webkit.org/blog/7675/intelligent-tracking-prevention/

    Но, сторонние куки-файлы также могут быть использованы для не-отслеживание целей, таких как сохранение единого входа (SSO) на сессии. Именно поэтому оригинальный ИТП введен 24-часовой льготный период, в течение которого файл файл cookie единого входа может быть использован в стороннем контексте. После этого печенье нужно хранить в контексте или, предпочтительно, путем перемещения по протоколу HTTP куки-файлы (об этом чуть позже), чтобы избежать этих проблем полностью.

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

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

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

    Если в 30-дневный срок истек без взаимодействия с доменом отслеживания, все файлы cookie будут удалены из домена отслеживания.

    ИТП 1.0 не очень впечатляющие для нас пользователей Гугл аналитика. Джорджия работает в контексте, поэтому обновления ИТП, не касается нас.

    ИТП 1.1 и хранения доступ к API-интерфейс

    С ИТП 1.1 и хранения доступ к АПИ ИТП были сделаны некоторые уступки сторонние сервисы обслуживающие внедренные объекты, такие как социальные логины и видео услуги. Было бы странно, если бы пользователь посетит эти услуги в контексте, потому что вся цель внедрения состоит в том, чтобы плавно сделать это, оставаясь на этом же сайте. Время хранения доступ к API и был решение, где встроенный контент будет предоставлен доступ к cookie-файлы хранятся на сторонних домен пока добавьте придерживаться определенных правил:

    ITP

    От https://webkit.org/blog/8124/introducing-storage-access-api/

    Хранение доступ к API и не предлагает пользователю ничего — это была большая уступка от движка WebKit.

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

    До сих пор никаких проблем с первой стороны веб-аналитика, фух!

    ИТП 2.0

    Середине 2018 года, в основе webkit представил ИТП 2.0.

    ИТП снял 2.0 24-часовой льготный период. Теперь печеньки будут сразу же после создания секционированной, если домен был классифицирован как межсайтовый возможности отслеживания.

    ITP

    От https://webkit.org/blog/8311/intelligent-tracking-prevention-2-0/

    Другая важная вещь ИТП 2.0 делал хранения доступ к API на запрос на основе. Вместо использования встроенных контент, получить доступ к куки, установленные в стороннем контексте в силу следующие правила, установленные в предыдущей главе, сафари теперь будет явно запрашивает у пользователя доступ к сторонней связи. Если пользователь дал доступ, согласие будет сохраняться и в 30-дневный график будет обновляться.

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

    Первая веб-аналитики партия по-прежнему безопасно. Но это не надолго.

    ИТП 2.1

    ИТП 2.1 было объявлено 21 февраля, 2019, и он вступает в силу, как только с иос 12.2 и 12.1 «сафари» вышел из бета-версии.

    Обновление 8 марта 2019 года: похоже, что функции, которые сейчас поставляются в ИТП 2.1 были тихому выкатывает с начала этого года уже.

    ИТП 2.1 полностью удаляет секционированных печенье. Теперь если домен классифицируется как межсайтовый трекинга должен иметь доступ к куки в стороннем контексте, хранения доступа к API-интерфейс должен быть использован, даже если использовать для входа в систему государственного управления. Главной целью этих изменений является снижение количества накладных расходов памяти, секционированные (сессии) печенье внедрить на любой сайт.

    Но на сегодняшний день самое большое изменение в ИТП 2.1, которая имеет прямые последствия на сторонние веб-аналитики новые меры размещен на первая партия печенья набор с помощью JavaScript на стороне клиента.

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

    ITP

    Как в приведенном выше примере, ни один из поддоменов simoahava.com можете писать файлы соокіе на этом корневом домене, после чего любой поддомен simoahava.com можете открыть эту печеньку. В этом нового ничего нет — это, как файлы куки, установленные на корневой домен всегда работали.

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

    Влияние веб-аналитика-это на жестокая, в зависимости, конечно, на долю сафари трафика. Возьмем следующий пример:

  • День 1: пользователь заходит www.simoahava.com в _ga cookie-файл-это написано на simoahava.com. Он расположен на 7-дневного срока (а не 2 лет analytics.js по умолчанию).

  • День 3: пользователь посещает blog.simoahava.com. В _ga cookie-файл-файл найден на simoahava.com, поэтому его стоимость доступна для blog.simoahava.com и в 7-дневный срок возврата.

  • День 13: потребитель посещает www.simoahava.com. В _ga куки-файлов истек, поэтому новый идентификатор клиента создается в новом _ga cookie-файл, и посетитель рассматривается как новый пользователь в Гугл аналитике.

  • В Гугл Аналитике использует документ.файл cookie-файл , чтобы установить куки в браузере. Это действительно не имеет никакого другого выбора. Это библиотека на JavaScript проданы, загруженные с серверов гугла, поэтому у нее нет возможности установки например, файлов cookie на simoahava.com, поскольку они могут быть установлены в стороннем контексте.

    Как ни странно, ИТП 2.1 удаляет поддержку не отслеживать сигнал в сафари, обозначив конец этой жалкой эксперимент в основе webkit. Больше сайтов уважаемых ДНТ при определении, посетители должны быть отслежены или нет, возможно мы не видели ИТП 2.1 в ее нынешнем виде.

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

    Технические решения и последствия

    В первую очередь, ИТП 2.1 действительно влияет только на браузер куки комплект с документами.печенье. Это не влияние другой дом (например, хранилище localStorage С), потому что те же происхождения, только, так не хватает возможности работать по суб-доменов. Аналогичным образом, это не влияет куки, установленные с НТТР-ответы, т. е. используя набор файлов куки в заголовок в HTTP-ответ.

    Протокол HTTP куки-файлов требует серверный скрипт (или ребро кэш / бессерверное решение) изменить протокол HTTP-запроса, так что это обдуманное решение с сайта владельца, чтобы установить печенье в контексте, а не библиотека на JavaScript загрузить из сети CDN возможность, по желанию, установить и получить файлы куки он хочет. Я предполагаю, именно поэтому они (пока) не влияет ИТП.

    в хранилище localStorage том же домене, просматривая

    Многие предложили использовать хранилище хранилище localStorage для сохранения этих анонимных идентификаторов используется аналитика Google, например. Вместо удаления куки с именем _ga, используйте форточку.хранилище localStorage хранилище.setitem класса класса() вместо этого.

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

    Однако, главной проблемой является то, что хранилище хранилище localStorage является одного источника только. Хранение в www.simoahava.com не будет доступна на blog.simoahava.com.

    Таким образом, единственное, что хранилище хранилище localStorage на самом деле решает не имея 7-дневного срока колпачок на данные, хранящиеся на одном домене. Поскольку все мои веб-трафика происходит на www.simoahava.com в хранилище хранилище localStorage является хорошим вариантом для меня, так как он сохраняется идентификатор клиента красиво (хотя и с некоторыми оговорками, тем не менее).

    хранилище localStorage для кросс-поддомен просмотра

    Благодаря Айке Pierstorff и Фуджи Хиронори предложили это решение.

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

    ITP

    Поскольку хранилище хранилище localStorage хранить акции той же родительском домене eTLD + 1 со страницы, делая запросы через элемент iframe площадки, взаимодействие происходит в контексте, и хранилище хранилище localStorage хранить можно достигнуть без хранения доступ к АПИ. Кроме того, в стороннего контекстах, хранилище хранилище localStorage является переходным в сафари, то удаляются после закрытия браузера. В контексте это не так.

    Процесс будет выглядеть так.

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

    2. Элемент iframe для проверки, если она имеет идентификатор клиента сохраняются. Если это делает, это возвращает его в сообщении на страницу источника. Если это не так, он возвращает строку, указывающую на это.

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

    Вот что родительский сценарий страницы будет выглядеть так:

    // Создать элемент iframe в
    документ ВАР Эл =.метод метод createElement('элемент элемент iframe');
    Эл.в СРЦ = 'https://www.maindomain.com/tracker.html';
    Эл.метод метод setAttribute('стиль', 'ширина:0;высота:0;границы:0;границы:нет');
    документ.тела.метода метода appendChild(Эл);
    
    // Добавляем слушатель, чтобы получить сохраненный идентификатор клиента 
    окна.метод метода addEventListener('сообщение', функция(е) {
     если (электронная.происхождения !== 'https://www.maindomain.com') { возвращение; }
     если (электронная.данные = = = значение значение null) { generateTracker(нулевое значение); }
     еще { generateTracker(электронная.данных); }
    });
    
    // Отправляем запрос, чтобы получить идентификатор клиента
    Эл.contentWindow.метод метод postMessage('вам', 'https://www.maindomain.com');
    
    // Отправить сообщение чтобы задать идентификатор клиента после трекере породила один
    trackerGeneratedCallback функция(параметр параметр ClientID) {
     Эл.contentWindow.метод метод postMessage(ClientID таким образом, таким образом, 'https://www.maindomain.com');
    }
    

    Здесь, элемент элемент iframe генерируется, после чего сообщение отправляется в окно ифрейме, чтобы получить идентификатор клиента. Слушатель на странице, то ждет ифрейме для ответа. Если ифрейме реагирует с 'нуля', сообщение, новый трекер генерируется (generateTracker) с клиента по умолчанию идентификатор создания механизма.

    Если ифрейме реагирует с сохраненным идентификатором клиента, то новый трекер, а не создается с этим сохраненный идентификатор клиента.

    Если трекер вообще создать новый идентификатор клиента, то trackerGeneratedCallback называется потом, и это отправляет идентификатор клиента к трекеру страницы для хранения.

    Это И то, что страницу для ифрейме будет выглядеть так:

    <HTML>и и
    тег <head>страницы
    <мета имя="роботов" содержание="присутствовать,как на nofollow">
    <скрипт>
     // Проверяем запрос поступает от *.maindomain.com
     ВАР hostNameRegex = /^протокол HTTPS с://([^.]+.)maindomain.com/;
    
     метода функция метода processmessage(событие) {
     если (!hostnameRegex.тест(событие.происхождения)) {
    возврат;
    }
    
     // Если запрос, чтобы получить идентификатор ClientID таким образом, отправить его в виде сообщения на страницу Источник 
     // отправить значение или значение NULL, если идентификатор клиента нашли.
     если (событие.данные === 'получить') {
     событие.источник.метод метод postMessage(окна.хранилище localStorage хранилище.метод метод getitem('ga_client_id') || 'нуль', событие.происхождения);
    возврат;
    }
    
     // В противном случае укажите идентификатор клиента в хранилище localStorage использование содержимого сообщения 
     окна.хранилище localStorage хранилище.setitem класса класса('ga_client_id', событие.данных);
    возвращение,
    }
    
     // Добавление слушателя для прослушивания метод postMessage в сообщения
     окна.метод метода addEventListener('сообщение', метода метода processmessage);
    </скрипт>
    тегом </head>в
    <тело>
    </тело>
    тегом </HTML>и

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

    Просто помните, индивидуальными особенностями каждой платформы. С помощью гугл аналитики, например, дополнительные меры должны быть приняты для обработки междоменное отслеживание, срок действия файла cookie-файл, и т. д.

    Вместо установка _ga cookie-файл с документом.куки, вы могли бы вместо того, чтобы установить его в протокол HTTP-ответ. Например, если работает node.js сервер Экспресс, вы могли бы добавить следующие строки в ваш код:

    приложение.получить('/', (Треб, действительно) => {
     // Проверка на существующие куки и использовать, что если нашли
     пусть га = запр.файлы куки['_ga'];
    
     // Проверка на линкер использовать и, что если действует
     если (запр.запрос['_ga']) {
     га = getClientIdFromLinker(Треб.запрос['_ga']) || га;
    }
    
     // Иначе создаем новый идентификатор клиента 
     если (!Джорджия) {
     га = generateGAClientId();
    }
    
     РЭС.печенье('_ga', га {домен: 'simoahava.com' путь: '/', безопасность: правда, истекает: новая дата(дата.сейчас() + 1000*60*60*24*365*2), });
    
    РЭС.рендер('индекс');
    });
    

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

    Внимание! В allowLinker скрипт строит отпечаток пальца, используя, среди прочего, браузерные и API-интерфейсы окно.навигатор.плагины и окна.навигатор.язык. Как это не доступен в НТТР-заголовки, вы должны были бы передать их на сервер с код запроса, вы должны использовать для маршрутизации печенье, а затем изменить allowLinker скрипт, чтобы использовать эти полезные параметры, а не в окно.навигатор Апис. Кроме того, вы можете построить свой собственный кросс-доменное решение линкер.

    Наконец, если _ga куки-файлов не существует, а если междоменный линкер отсутствует или сломан, новый клиентский идентификатор.

    В протокол HTTP-ответ, _ga cookie-файл устанавливается с этим значением, и его действия сбрасывается до двух лет.

    Это типа настройка на сервере должно быть тривиальным, чтобы сделать практически в любом веб-серверной среде (с использованием PHP/Апач, реагировать, Node.js в IIS и т. д.). Но вам доступ веб-серверу нужен к его и обработчики запроса, чтобы быть в состоянии сделать это.

    Если вы используете услуги, такие как компания Cloudflare, который кэширует содержимое сервера на “ребро”, может также быть в состоянии использовать JavaScript-код, чтобы перехватывать и обрабатывать запросы по протоколу по протоколу HTTP между браузером и другие. На компании Cloudflare, эта технология называется работники компании компании Cloudflare. Амазонка имеет аналогичное решение под названием [электронная почта защищена].

    Идея заключается в том, что когда запрос по протоколу HTTP на содержание приходит в скрипт, запускающий в краю “переписывает” все файлы куки в НТТР-заголовке с набором-печенье, избегая ИТП 2.1 ограничения.

    Дастин Recko решать это в недавней статье на ИТП 2.1.

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

    Веб-сервис Общий ссылка на запись типа CNAME

    Спасибо Ларс Гундерсен для подталкивания меня об этой идее.

    Это супер интересно. Видимо, это то, что Адоб уже занимается некоторое время.

    Логика похожа на серверные куки маршрутизатора и/или в хранилище хранилище localStorage хранить описано выше. Но вместо того, чтобы размещение контента на свой собственный домен, вы можете создать конечную точку виртуальной машины под управлением в облако Гугл, например, а затем создайте запись типа CNAME в ДНС указать tracker.mydomain.com в этой виртуальной машине.

    Затем, когда страница загружается, то первое, что он делает, называют эту конечную точку (tracker.mydomain.com). Конечная точка будет захватить печенье из заголовков протокола HTTP и использовать набор-печенье в ответ писать куки mydomain.comтаким образом, избегая ИТП 2.1 запрет на клиентские куки.

    В качестве альтернативы, вы могли бы tracker.html работает в службе, и вы хотели загрузить tracker.mydomain.com/tracker.html в ифрейме, и использовать его как хранилище localStorage с магазине.

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

    Мне было бы любопытно увидеть, если это то, что Гугл смотрит на тоже. Казалось бы, довольно элегантный способ справиться с проблемой с _ga куки-файлов. Они могут, например, иметь analytics.js извлечена из этого Вимени, перенаправление домена, но в дополнение к действующей в библиотеке, было бы также написать _ga печенье в набор-печенья ответ.

    Я проверил с Джоном Виландер (инженер в в WebKit работает на ИТП), что это должно быть ОК:

    То проблема здесь заключается в том, что он добавляет немного нагрузки на веб-сервис, предоставляющий ответ. Для одного, это нужно сделать расчеты для _ga код, но также она понадобится для обработки запроса и настроить ответ. Вполне возможно, что даже если Google не сделал этого, они бы не предложить его в качестве части бесплатно Гугл Аналитика и сервис.

    Обратный прокси-сервер в сторонний сервис

    Спасибо Пламен Арнаудов за это предложение.

    Обратный прокси-сервер выступает веб-сервера перед, маскируя их существования, когда пользователь запрашивает ресурсы с сайта. Например, обратный прокси-сервер может переслать запрос на содержимое https://www.google.com/, но показывают https://www.simoahava.com/search-page в УРЛ-адресе.

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

    ITP

    От https://www.cloudflare.com/learning/cdn/glossary/reverse-proxy/

    С обратного прокси-сервера, обслуживание как аналитика компании Google придется изменить некоторые конечную точку либо переписать _ga cookie-файл в заголовке запроса с комплектом-печенье в ответ, или создать печенье по желанию и подавать его с протокола HTTP-заголовком. Это может иметь смысл, например, чтобы запрос для analytics.js ответить с Набор-печенье заголовка.

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

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

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

    константный прокси = требуют('НТТР-прокси-промежуточное');
    
    ...
    
    приложение.получить('/analytics.js', прокси({
     цель: 'https://www.google-analytics.com/',
     changeOrigin: правда
    });
    

    Это, прежде всего, выполнять запрос на получение analytics.js библиотека на Гугл домена, но служить его содержания под вашего домена /analytics.js URL-адрес-адрес. Если Гугл вместе играет, это может послужить правильное решение особенно в тех случаях, когда вы не можете добавить больше записей типа CNAME в ДНС.

    Серверная аналитика

    Были такие предложения, используя такие термины, как серверной аналитики, но я думаю, что они поняли, что ИТП 2.1 делает.

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

    Изменение конечной точки www.google-analytics.com/collect для proxy.simoahava.com/collectили меняется от www.google-analytics.com/collect для snowplow.simoahava.com/track не изменить эту динамику. Нет никакого способа, чтобы действительно выровнять запросов, отправляемых из браузера на запросы, отправленные по одним и тем же браузером, не имея этот идентификатор привязки как-то эти двое вместе.

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

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

    Заключительные мысли

    У меня есть много мыслей на эту тему. Много, действительно. Итак, позвольте мне перечислить их здесь:

    Это хорошо…

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

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

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

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

    …но, возможно, ребенок был выброшен с водой

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

    Я обменялась в Твиттере с инженером в базе webkit работает на ИТП (Джон Виландера), и это одна из вещей, он ответил Мне:

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

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

    Позже твит уточнил Джон:

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

    И это наверняка не последний

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

    Обновление 8 марта 2019 года: в браузере Firefox объявили, что они начнут экспериментировать с 7-дневного срока JavaScript и печенье тоже.

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

    Я не думаю, что они захотят пойти в 7-дневный печенье срока действия документа.печенье. Если что, то они снизят лишь на один день, или разрешить только сессионные куки. Или, возможно, искоренить JavaScript и печенье altogethe. В любом случае, это зависит от поставщиков и их корпоративных клиентов (с деньгами), чтобы рассмотреть, как страшно это, и как решить эту проблему в будущем.

    Компания компания Adobe уже представила свои способы решения итп, но с запретом на документ.печенье это еще предстоит увидеть, как они будут реагировать на ИТП 2.1.

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

    Идти вперед

    Подводя итог этой статьи, Вот несколько ключевых тезисов:

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

    2. Если вы думаете, что сафари не имеет достаточно большой доли трафика, Чтобы серьезно повлиять на данные качества, вы должны смотреть на написание _ga куки-файлов с помощью протокола HTTP-куки. Вижу здесь повторение.

    3. Следуйте Джон Виландер в Твиттере.

    4. Ждем официального заявления от компании Google (или любой ваш любимый аналитика поставщика) о том, как они намерены решать ИТП-это удавка на печенье написано с документом.печенье.

    За вызывающим техник чувак вроде меня, мы живем в довольно интересные и увлекательные времена. Того, чтобы выяснить, решение этой массированная атака на куки (большинство) веб-браузеры-это вдохновляет!

    Related posts

    Как чиновники Московской области измеряют загрязнение воздуха

    admin

    [Вопрос] Вы видели людей, которые пользуются мобильными контент-подписками?

    admin

    Usage Trends для Google Analytics

    admin

    Leave a Comment