Кэширование изображений onebox и/или их обслуживание с основного домена

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

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

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

Изображения можно раздать с основного домена или пользовательского домена, например cdn.mydomain.com.

Вы не можете сохранять изображения третьих сторон на своей собственной установке из-за авторских прав, что действительно сложно в случае с изображениями (и это ставит под сомнение одну из функций Discourse, но это уже другая история). Однако oneboxing не нарушает GDPR и никогда не нарушал. Для подстраховки разумно указать, что через ссылки задействованы третьи стороны, и соблюдение GDPR — их ответственность. Но вам это и не обязательно.

2 лайка

Тем временем Discourse уже незаметно загрузила изображение, использованное в одномбокс здесь:

4 лайка

Сам по себе oneboxing не противоречит, но предоставление ресурсов третьих сторон — определённо да, см. дело с Google Fonts выше

Может, вместо этого мы могли бы проксировать их через сервер Discourse, чтобы третьи стороны видели только IP-адрес сервера Discourse, а не пользователя?

Хм, это интересно! Это какой-то плагин или настройка, которую я могу включить на своём экземпляре?

1 лайк

Oneboxing не обслуживает сторонние сервисы. И GDPR разрешает использование Google Fonts, при этом необходимо уведомлять пользователей — и Google также соблюдает GDPR.

Но это вообще не вопрос GDPR. Это касается iframes.

Дело не столько в «сообщении» пользователям, сколько в наличии законного основания, такого как согласие или законный интерес. При согласии вы должны предоставить удобный способ отказа от согласия, и тогда ресурс не будет загружен. При законном интересе необходимо провести оценку законных оснований, а я (и, как мне кажется, многие другие администраторы хостингов Discourse) предпочли бы не заниматься этим, а вместо этого либо полностью отключить функцию oneboxing, либо скрыть IP-адрес пользователя за прокси.

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

Однобоксы не входят в это требование, но вы обязаны указывать, если задействована третья сторона. А однобоксы — это просто красивые ссылки.

3 лайка

Я имел в виду: простого факта о запросах от третьих сторон недостаточно. Согласно GDPR, вы должны предоставить:

  • цель такой обработки данных
  • правовое основание такой обработки

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

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

(Кстати, я не выдумываю это: я занимаюсь соответствием требованиям GDPR в своей профессиональной деятельности и имею практический опыт работы с жалобами и штрафами в ЕС).

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

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

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

Пример (Golem.de, немецкий сайт новостей об IT):

Статья: Версия Minecraft для трейлера фильма Minecraft покоряет сердца

Без явного согласия на внешний медиа:

С явным согласием на внешний медиа:

2 лайка

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

Однако в моём опыте с «onebox» превью ссылки остаётся статичным, если не пересобрать HTML. Что я имею в виду: в моём опыте onebox сохраняет ту же информацию превью, даже если исходная страница изменила данные.

Это было удобно, когда сайт кардинально изменил информацию на странице. Моя информация превью onebox оставалась неизменной без пересборки поста через гаечный ключ.

У меня даже старые onebox’ы оставались целыми, хотя на оригинальном связанном сайте содержимое уже отсутствовало.

С другой стороны, яфреймы, как я полагаю, обновляются так, как вы указали, и @Jagster упоминает, что это скорее живое превью при просмотре каждым пользователем, как и при загрузке шрифтов Google.

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


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

Я понимаю, почему мой немецкий друг, живущий здесь, в Канаде, говорит, что лучше всего блокировать ЕС.

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

Вы можете сделать это ещё строже, включив опцию block hotlinked media.

5 лайков

Вам не нужно согласие для этого.

GDPR не считает это так. И пользователи должны предпринять действие, чтобы перейти туда.

1 лайк

Проблема заключалась в том, что Google не соблюдал GDPR. Это стало одной из причин, по которой Google получил довольно крупный штраф от ЕС. Однако это никогда не было проблемой для тех сайтов, которые использовали Google Fonts, AdSense и т. д. Именно поэтому Google оказался на скамье подсудимых, а не те, кто предоставлял эти услуги.

1 лайк

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

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

Споры о реальных или мнимых причинах начинают уходить от темы. Но эти регуляции — именно те болевые точки, которые есть в США. И они необходимы, потому что американские гиганты никак не уважали приватность пользователей, поскольку в США нет соответствующего регулирования. Или, может, стоит сказать… потому что жизнь разработчиков не так уж и усложняется :rofl:

Так что не благодарите ЕС. Отправьте благодарственные открытки Google, Amazon, Microsoft, X, Apple и остальным. И одновременно задумайтесь, что у них общего.

Кстати, мне пришло сообщение, что я не должен пускать на свой форум никого моложе 13 лет. Я, конечно, пущу их, даже из Калифорнии, если они умеют читать по-фински :winking_face_with_tongue:

Всё, конец связи (почему нет эмодзи с микрофоном, который бросают на пол…)

2 лайка

Я не спорю с необходимостью регулирования — я лишь говорю, что переход от фразы «мы и наши 999 доверенных партнёров украдём ваши данные» к большому всплывающему окну с надписью «нажмите здесь, чтобы согласиться, что мы и наши 999 доверенных партнёров украдём ваши данные» иногда кажется пирровой победой, и я понимаю, почему это заставляет некоторых людей чесать затылки :slightly_smiling_face:

Но возвращаясь к основной теме:
@kuba-orlik, если этот вариант вам подходит, я предлагаю переформулировать запрос на улучшение функции в виде «Предоставить возможность требовать согласие пользователя перед отображением внешнего контента» (тогда я проголосую за него).
Если же вы считаете, что текущий заголовок лучше отражает суть вашего запроса, это тоже отлично. В таком случае, вероятно, я сам открою новый запрос.

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

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

Насколько я понимаю, плагин действительно мог бы это сделать, так как он изменяет элементы ядра на стороне сервера, в отличие от компонента темы, который меняет что-то на стороне клиента/браузера; скрипты Tampermonkey во многом похожи на установленные в браузере темы или компоненты. Раньше я использовал скрипт Tampermonkey в старой браузерной игре Fallen Sword, чтобы изменить порядок отображения товаров на рынке.


Интересное примечание: уведомления по этой теме я не получил.

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

block hotlinked media

и

download_remote_images_to_local

Так что если вам нужно такое поведение… просто установите значения в true и false.

Разве запрос заключается в том, чтобы внедрить полноценный HTTP-прокси прямо в продукт Discourse?

4 лайка

Я не знал об этих двух настройках! Они, кажется, пока справляются с задачей отлично. Буду тестировать их дальше, спасибо!

2 лайка

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

Также я не уверен, можно ли применить это ретроспективно, так как настройка, отключающая Onebox (установка лимита на 0), тоже, похоже, не работает во всех случаях.