Как отключить форум, кроме доступа для персонала

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

Нельзя «отключить» форум и при этом оставить его доступным для всех.

Вы можете рассмотреть возможность массового скрытия всех тем до тех пор, пока не появится возможность удалить спам, а затем снова открыть все оставшиеся темы:

Вы можете настроить форум в режим только для чтения, за исключением сотрудников. Режимы только для чтения в Discourse

@pfaffman, но это не решает проблему «видимости» :eyes:

Я бы просто изменил все разрешения категорий на «только для сотрудников». Конечно, с хорошим объяснением где-нибудь.

Возможно, вам стоит выполнить запрос в Data Explorer, чтобы сначала записать существующие разрешения. А если ваш форум большой и сложный, возможно, лучше сделать это всё через консоль Rails как массовое действие.

Это решит вашу задачу. И вы сможете открывать контент по мере его очистки, категорию за категорией.

Недавно я рассматривал похожую проблему —

Были бы шаги следующими:

  • Включить режим «только для сотрудников» Read Only Modes in Discourse
  • Включить «требуется вход» в настройках администратора
  • Logout all users through the rails console
  • Отключить «включить локальные входы» (и любой SSO).
  • Использовать /u/admin для входа как администратор

ОХ. Я упустил это.

В таком случае вам нужно изменить настройки DNS, чтобы они больше не указывали на форум, а администраторы настроили свой файл /etc/hosts (или его аналог) для указания правильного IP-адреса. Но это уже не совсем относится к Discourse, это скорее хак для системных администраторов.

Спасибо. Категорий было достаточно мало, чтобы это можно было сделать вручную (хоть и немного утомительно).

Я не думаю, что это сработает, так как они могут просто войти снова:

Позже я действительно засомневался насчёт этого момента. Как вы думаете, отключение локальных входов стала бы подходящей альтернативой или дополнительным шагом? (А также/или любой SSO)

Разумеется, вам также потребуется отключить любые методы OAuth, но да, это может сработать отлично. Только будьте осторожны, чтобы случайно не выйти из системы (например, восстановив сайт).

Хотя в таком случае вы можете просто снова включить вход в систему через консоль. Вы планируете это для meta :stuck_out_tongue_winking_eye:?

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

Я добавлю дополнительный шаг выше. :+1:


Подумав об этом, разлогинивание всех и последующее отключение входа может сделать работу администраторов только лишней?

Я только что протестировал это для чего-то другого, и включение режима «только для чтения» со страницы резервного копирования помешало моему тестовому пользователю войти на сайт: