# Приглашение к выкупу позволило пользователю получить доступ к форуму ДО одобрения

**URL:** https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328
**Category:** Bug
**Tags:** approval, invites
**Created:** [10.Январь.2022 02:25:05 UTC](https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328 "2022-01-10T02:25:05Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [10.Январь.2022 02:25:05 UTC](https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328/1 "2022-01-10T02:25:05Z")

</div>

В нашем форуме установлены следующие настройки:

1. login\_required ON
2. must\_approve\_users ON
3. min\_trust\_level\_to\_allow\_invite 2 : member

При тестировании приглашений на форум я обнаружил следующее:

1. Когда пользователь TL2 приглашает другого пользователя по электронной почте \*
2. И тот переходит по ссылке приглашения в письме \*
3. И заполняет поля и отправляет форму

Происходит следующее — они сразу попадают на форум (как будто уже одобрены) и могут читать его по своему усмотрению. Они не должны иметь такой возможности до получения одобрения.

На самом деле они остаются не одобренными. Если они попытаются снова зайти на сайт, им будет отказан доступ с обычным сообщением «вы не одобрены».

---

<div class="post-metadata">

### Author: ![Benjamin\_D](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benjamin_d/32/277831_2.png) [@Benjamin\_D](https://meta.discourse.org/u/Benjamin_D)
#### Post date: [10.Январь.2022 07:50:02 UTC](https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328/2 "2022-01-10T07:50:02Z")

</div>

Действительно, я могу воспроизвести это в версии 2.8.0.beta10 ( [bbca25e875](https://github.com/discourse/discourse/commits/bbca25e875c36d3541b22c520b6d56ae6322dfbe) )

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [10.Январь.2022 08:53:38 UTC](https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328/4 "2022-01-10T08:53:38Z")

</div>

Я могу подтвердить это на своём тестовом сайте ([17ec3bc5b9](https://github.com/discourse/discourse/commits/17ec3bc5b9ebf2ed241035dc37cec25475c5e4ad)):

- Требуется вход в систему
- Необходимо утверждать пользователей
- Пользователи уровня TL2 могут отправлять приглашения

При этом мой приглашённый мог просматривать и публиковать сообщения во время этого «посещения для регистрации» без утверждения.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [11.Январь.2022 05:42:21 UTC](https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328/5 "2022-01-11T05:42:21Z")

</div>

Это сложная ситуация.

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

Вообще говоря, я не уверен, что это имеет смысл: зачем приглашать кого-то на форум, чтобы сразу заблокировать его?

Я бы сказал, что ваше ближайшее временное решение — запретить приглашения на tl2/3. Это хотя бы устранит эту странность.

Думаю, нам следует, по крайней мере временно, полностью отключить возможность отправки приглашений для **не-сотрудников** , когда включена опция `must_approve_users`.

@dan, что думаешь?

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [11.Январь.2022 08:44:25 UTC](https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328/6 "2022-01-11T08:44:25Z")

</div>

> [@sam](#):
>
> Я бы сказал, что ваше ближайшее временное решение — запретить приглашения на уровнях TL2/3… это хотя бы закроет эту странность.

Готово. Конечно, у пользователей TL4 эта проблема всё ещё останется, но у меня таких нет, так что всё отлично!

> [@sam](#):
>
> Думаю, нам следует, хотя бы на время, полностью отключить приглашения для **не-сотрудников** , когда `must_approve_users` включён.

Мне кажется, это разумно как постоянное решение.

Я немного удивился, что мои пользователи могли приглашать других!

---

<div class="post-metadata">

### Author: ![dan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dan/32/101549_2.png) [@dan](https://meta.discourse.org/u/dan)
#### Post date: [12.Январь.2022 07:09:52 UTC](https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328/7 "2022-01-12T07:09:52Z")

</div>

> [@sam](#):
>
> @dan, что думаешь?

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

В какой-то мере это, я полагаю, зависит от сообщества и от того, насколько вы доверяете своим пользователям. Возможно, в будущем параметр must\_approve\_users станет выпадающим списком с вариантами: нет, да или если не приглашён.

Я добавлю это в свой список задач.

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [13.Январь.2022 16:31:13 UTC](https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328/17 "2022-01-13T16:31:13Z")

</div>

Исправлено в [SECURITY: Do not sign in unapproved users (#15552) · discourse/discourse@584c6a2 · GitHub](https://github.com/discourse/discourse/commit/584c6a2e8bc705072b09a9c4b55126d6f8ed4ad2). Спасибо за отчет @nathank!

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [15.Январь.2022 08:00:23 UTC](https://meta.discourse.org/t/invite-redemption-allowed-user-to-access-forum-before-approval/214328/19 "2022-01-15T08:00:23Z")

</div>

Эта тема была автоматически закрыта через 31 час. Новые ответы больше не принимаются.
