Отказ от сети FLoC

Google изобрела технологию под названием FLoC, которая использует браузер Chrome для профилирования пользователей, поскольку сторонние куки, похоже, уходят в прошлое.

К этой технологии относятся крайне негативно, и веб-сайт или приложение могут отправить заголовок Permissions-Policy: interest-cohort=(), чтобы отказаться от её использования.

Мы считаем, что реклама является важным краеугольным камнем веба в 2021 году, но, конечно, есть много сообществ, которые видят в этом серьёзную проблему конфиденциальности.

Самый быстрый способ отказаться от этой технологии для вашей установки Discourse — добавить тег meta в секцию /head компонента темы: РЕДАКТИРОВАНО: как отметил @supermathie, не уверен, что это сработает.

<meta http-equiv="Permissions-Policy" content="interest-cohort=()"/>

Но, возможно, это могло бы стать «настоящим» HTTP-заголовком, управляемым через флажок в ядре системы.

20 лайков

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

Вы можете проверить свои заголовки здесь, и в настоящее время этот сайт не отправляет отказ:
https://securityheaders.com/?q=https%3A%2F%2Fmeta.discourse.org%2F&followRedirects=on

3 лайка

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

5 лайков

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

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

cdn.forum.example.com обладает точно такой же прогностической силой, как и forum.example.com.

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

8 лайков

Совершенно верно. Я полностью согласен.

И всё же…

Разве мы должны просто сидеть сложа руки и ничего не делать, пока Google это делает? Ведь Google это делает, нравится нам это или нет. Хорошо это или плохо.

FLoC Обсуждение в проекте WordPress (которое, к сожалению, кажется, вращается больше вокруг «как», а не «нужно ли»).

Спасибо, я провёл поиск: соответствующее обсуждение здесь и важный аргумент (выделение моё)

Я бы предпочёл, чтобы мы этого не делали. Это приводит ко всем kinds гонки состояний, и вы также получите функции, которые можно отключить только на уровне HTTP. Я бы предпочёл не повторять хаос, который это создало с CSP. Давайте просто призовём всех хостинг-провайдеров предоставить адекватные возможности настройки заголовков.

Хотя FLoC ужасен, предложение в WordPress тоже кажется неидеальным, поскольку множество плагинов и настроек могут изменять заголовки. Как учесть все эти изменения?

На данный момент единственное надёжное решение — использовать любой браузер, кроме Chrome. Использование директив для запроса к Google не индексировать или не отслеживать имеет историю несоблюдения, даже когда это делается так, как рекомендует Google.

15 лайков

Итак, в мире WordPress вебмастеру приходится решать вопросы настройки заголовков со своим хостинг-провайдером. (Редактирование: ой, см. ниже исправление.)

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

Я знаю ровно столько, чтобы быть опасным, но я вижу настройки заголовков в:
/var/discourse/shared/standalone/letsencrypt/http.header
/var/discourse/templates/web.ssl.template.yml
Поэтому мне кажется, что настройка соответствующих заголовков в соответствии с политикой вебмастера входит в сферу ответственности Discourse.

Некоторые администраторы Discourse могут не захотеть ничего предпринимать, другие предпочтут подождать и посмотреть, а третьи, возможно, захотят отказаться от отслеживания FLoC от имени своих сообществ и подать сигнал Google.

Я хочу отказаться от этого.

1 лайк

Я тестирую изменение на основе Add a custom HTTP header to requests made to your Discourse [1], чтобы добавить этот заголовок. Сообщу вам, как только получу подтверждение, что всё работает.

Лично мне нравится предложение, которое кто-то озвучил: полностью отклонять запросы, содержащие заголовок FLOC, ломая тем самым Chrome. Но я не могу найти статью, где это предлагалось… :smiley:


  1. GNU Терри Пратчетт, произнесите его имя ↩︎

7 лайков

Нет — эта цитата была из общего обсуждения заголовка Permissions-Policy. В мире WordPress существует плагин, который добавляет этот заголовок.

1 лайк

Спасибо — я признаю свою ошибку.

Это должно сработать:

## Любые пользовательские команды для запуска после сборки
run:
  - exec: echo "Начало пользовательских команд"
  - replace:
     filename: "/etc/nginx/conf.d/discourse.conf"
     from: /location \/ {/
     to: |
       location / {
           add_header X-Clacks-Overhead "GNU Terry Pratchett";
           add_header Permissions-Policy "interest-cohort=()";

адаптировано из Add a custom HTTP header to requests made to your Discourse
примечание: как раз кстати для сегодняшнего дня: Terry Pratchett’s debut turns 50: ‘At 17 he showed promise of a brilliant mind’ | Books | The Guardian

результат:

○ → curl -I https://testmachine/srv/status
HTTP/2 200 
server: nginx
date: Tue, 20 Apr 2021 17:48:15 GMT
content-type: text/plain; charset=utf-8
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-download-options: noopen
x-permitted-cross-domain-policies: none
referrer-policy: strict-origin-when-cross-origin
x-request-id: ef02ce7c-fabc-49b9-986e-c2c46e50f8e4
x-runtime: 0.004575
x-redis-calls: 1
x-redis-time: 0.000153
x-queue-time: 0.000952
x-clacks-overhead: GNU Terry Pratchett
permissions-policy: interest-cohort=()
7 лайков

Обновление от lobste.rs: Как только бета-версия будет завершена, у вас не будет возможности отказаться от включения вашего сайта в расчеты.

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

Эта функция «отказа» перестанет работать сразу после завершения испытательного периода, и в настоящее время она функционирует только если вы размещаете рекламу.

3 лайка

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

Вы можете отказаться от участия как отдельный пользователь (пока что).

Начиная с Chrome 90 (стабильный релиз во вторник, 13 апреля), пользователи могут отказаться от FLoC и других предложений Privacy Sandbox через chrome://settings/privacySandbox. (Вы можете попробовать это прямо сейчас в Canary с помощью демо-версии floc.glitch.me.)

Источник: https://discourse.wicg.io/t/proposal-federated-learning-of-cohorts-floc/4473/26

3 лайка

Мне тоже потребовалось некоторое время, чтобы это понять, и сейчас, кажется, я всё понял (но, пожалуйста, поправьте меня, если я ошибаюсь). Путаница возникает из-за фразы «расчёты».

Здесь существует два типа расчётов, и у сайта есть три способа «участвовать» в FLoC.

  1. «Глобальный» алгоритм, определяющий глобальные когорты. Отказ невозможен. Действительно Все сайты с публично маршрутизируемыми IP-адресами, которые посещает пользователь в обычном режиме (не в режиме инкогнито), будут включены в расчёт когорты POC.

  2. Алгоритм, определяющий когорту для конкретного пользователя на основе его истории просмотров. Отказ возможен через заголовок. Сайт может заявить, что не хочет включаться в список сайтов пользователя для расчёта когорты. Это можно сделать с помощью новой политики разрешений interest-cohort permissions policy. (взято из того же документа, что и ваша цитата)

  1. Запрос сайтом конкретной когорты пользователя для получения таргетированной рекламы (или для злоупотребления этой информацией) с помощью JavaScript. Значение становится доступным веб-сайтам через новый JavaScript API:
    cohort = await document.interestCohort();
    .
    Этот API не работает на страницах, которые отказались от участия через заголовок в пункте 2, и именно здесь возникло множество путаницы. Любой фрейм, для которого не разрешено право interest-cohort, получит значение по умолчанию при вызове document.interestCohort().

Я не могу найти надёжный источник, подтверждающий это.

3 лайка

Ах — я перепутал пункты #2 и #3 в вашем списке.

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

2 лайка