Disallow anonymous users from viewing image & file URLs

Wonderful!

@mbcahyono could you please create a new topic for the plugin in plugin?

3 лайка

The Discourse Images Guardian plugin no longer works with the latest Discourse beta — you can’t set a URL for the logos any more so all images now require authentication, this results in the site logos returning 404’s for non-authenticated users, I have opened an issue for this on GitHub to see if we can find a way to solve this.

The Discourse Images Guardian has been updated by @mbcahyono so it now works with the latest Discourse beta, I have deployed it to a couple of servers running v2.3.0.beta1 :slight_smile:.

4 лайка

The Discourse Images Guardian plugin doesn’t currently work with the latest Discourse v2.3.0.beta5, I have had to disable it on a couple of sites. I have raised an issue for this on GitHub and hopefully @mbcahyono will have a suggestion for a fix for this soon.

2 лайка

Сегодня мы начали внутреннее тестирование новой настройки «Безопасные медиа», которая доступна только при включённой загрузке в S3. Вот что она делает:

  • Для экземпляров Discourse с включённой настройкой «Требуется вход» все загрузки считаются безопасными, но если эта настройка отключена, безопасными считаются только загрузки в личных сообщениях.
  • Все URL-адреса безопасно загруженных медиафайлов в постах и личных сообщениях больше не указывают напрямую на файл, а проходят через конечную точку, которая сначала определяет доступ к медиа на основе настроек сайта.
  • Безопасные медиа в письмах заменяются текстом-заполнителем, который предлагает пользователям войти в экземпляр Discourse для просмотра медиа.
  • Если загрузка ранее использовалась в безопасном контексте, публикация той же загрузки в публичной теме не допускается.

В настоящее время эта настройка доступна только для самостоятельно размещённых экземпляров Discourse. Мы предоставим дополнительные обновления после завершения внутренних испытаний.

14 лайков

Каковы недостатки этого? Влияет ли это на производительность?

URL для медиафайлов в сообщениях/личных сообщениях просто заменяется на URL сервера Discourse, который затем предоставляет закрытый URL S3 для загрузки.

2 лайка

Просто для уточнения.

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

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

6 лайков

Плагин Image Guardian не работает с последней версией Discourse. Я создал соответствующий запрос в GitHub:

Я рассматривал вариант использования опции «Безопасная загрузка», но она требует использования S3, что в данном случае на форуме не применимо. Поэтому плагин всё ещё необходим, и надеюсь, что @mbcahyono сможет решить эту проблему… :crossed_fingers:

@chrisc У нас сейчас праздничный сезон, поэтому я проверю это на следующей неделе :slight_smile:

1 лайк

Это потрясающе, спасибо @mbcahyono, счастливых праздников! :slight_smile:

@chrisc

Это должно исправить ошибку пересборки. Хотя у меня пока не было возможности протестировать саму функциональность.

1 лайк

Это великолепно, @mbcahyono! Я установил и протестировал — всё отлично :slight_smile: Спасибо ещё раз!

1 лайк

@mbcahyono, возможно ли также защитить загруженные пользователями аватары, сделав просмотр изображений доступным только при наличии cookie?

Их URL-пути выглядят так: /user_avatar/$DOMAIN_NAME/$USER_NAME/$NUNBER/$ANOTHER_NUMBER.png.