# Disable unverified users to create topic

**URL:** https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508
**Category:** Support
**Created:** [July 26, 2024, 6:12am UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508 "2024-07-26T06:12:09Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 6:12am UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/1 "2024-07-26T06:12:09Z")

</div>

Hi, I have problem dealing spam accounts, they are created through local accounts, If I look into one spam account, it says primary email `not verified`, I want to disable this kind of accounts to create a new Topic until they verify their email, how to achieve this?

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 7:54am UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/2 "2024-07-26T07:54:32Z")

</div>

I dont know if this setting will help deleting unverified users

`purge_unactivated_users_grace_period_days`

setting this to 0 will allow unactivated users forever? it seems entirely opposite of what this field is for.

---

<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: [July 26, 2024, 7:57am UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/3 "2024-07-26T07:57:26Z")

</div>

If their emails aren’t verified then they shouldn’t be allowed to post. Are they staged users? (That is, do you allow anonymous users to email in?)

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 8:07am UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/5 "2024-07-26T08:07:01Z")

</div>

> That is, do you allow anonymous users to email in?

how to check this? there is a settings `enable staged users` which says `Automatically create staged users when processing incoming emails.` and it is checked. is this what you are asking?

 ![discourse-meta-0](https://global.discourse-cdn.com/meta/original/4X/3/2/c/32c398b892ef98fc5b2dd5f297541c2152beb4bf.png)

This is how that spam account permission looks right now.

---

<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: [July 26, 2024, 8:48am UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/6 "2024-07-26T08:48:54Z")

</div>

It doesn’t look like that’s a staged user.

I’m not sure how people are logging into your site with an unactivated account. Do you have any special login methods?

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 1:07pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/8 "2024-07-26T13:07:48Z")

</div>

> Do you have any special login methods?

Only two methods, local login and google oauth. I’m pritty sure he is not using google his domain is not under gmail.

I see there is another thread with similar issue as mine

> [@Enable Email Verification to Prevent Spam](https://meta.discourse.org/t/enable-email-verification-to-prevent-spam/311031/9):
>
> It does sound like something is not set up quite right. It can be tricky taking over an existing forum as there are often bits and bobs that have been changed or added over the years that can take a while to track down. If you have a standard login it should behave in a very similar way to how you signed up for an account here. Do you have a forum URL you can share? (in a PM if you’d prefer not to share it publicly)

I dont know if any progress on that thread.

---

<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: [July 26, 2024, 1:12pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/9 "2024-07-26T13:12:19Z")

</div>

Ah yes, we discussed that further in PM. That was down to SSO not verifying the emails before passing them to Discourse.

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 1:14pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/10 "2024-07-26T13:14:29Z")

</div>

How can I proceed further to find the root cause of this issue? should I contact you (or someone) through DM?

---

<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: [July 26, 2024, 1:23pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/11 "2024-07-26T13:23:49Z")

</div>

No, you’re best off having a public topic so other people can weigh in with ideas if they have some. 👍

I’m afraid I don’t have many more ideas for what has happened. Did someone deactivate their account after they posted? (You can check your staff action logs for ‘deactivate user’)

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 1:28pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/12 "2024-07-26T13:28:55Z")

</div>

Yes, I deactivated that account after I saw that account created one spam topic, nginx’s access.log didn’t show any new topic activity either from this user. I’m really confused how this guy creating new topic without using web interface, there should be some other way to create topic other then the web interface, thats why asking help here.

---

<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: [July 26, 2024, 1:36pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/13 "2024-07-26T13:36:57Z")

</div>

If you deactivated the account then that would explain why the email is unverified (them needing to reverify their email is part of the deactivation)

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 1:38pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/14 "2024-07-26T13:38:41Z")

</div>

No, the account posted a spam topic first with unverified email, thats why I deactivated that account.

---

<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: [July 26, 2024, 1:41pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/15 "2024-07-26T13:41:57Z")

</div>

I think we may be talking cross-purposes. 🙂 I don’t mean Silence or Suspend, but specifically ‘deactivate’:

 ![deactivate account](https://global.discourse-cdn.com/meta/original/4X/1/0/a/10a28ad8850fb8e0c91a3927787012b9a12d5ba3.png)

Did you check your staff action logs?

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 1:44pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/16 "2024-07-26T13:44:15Z")

</div>

sorry, I meant to say I `silenced` and `suspended` that account after that spam topic.

---

<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: [July 26, 2024, 1:55pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/17 "2024-07-26T13:55:29Z")

</div>

If you didn’t deactivate the account, then I think you’ve got to work out how they managed to bypass the normal email verification step. From what you’ve described so far, I don’t see how this is possible.

Signing up locally would send them an email to activate their account, which verifies their email, and signing up using google would also verify their email.

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 1:58pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/18 "2024-07-26T13:58:35Z")

</div>

do we have any logs which can give some clue? apart from nginx logs.

---

<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: [July 26, 2024, 2:03pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/19 "2024-07-26T14:03:04Z")

</div>

Not that I can think of. Are you the only mod/admin for the site?

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 2:24pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/20 "2024-07-26T14:24:31Z")

</div>

I’m an admin to that website, I’m just trying to see whats going on, I don’t even know where that box is running and don’t have ssh access.

Meanwhile, I see something strange, somebody logged in as “system”, created a “Test” account and deleted immediately

![discourse-1](https://global.discourse-cdn.com/meta/optimized/4X/a/a/3/aa3f4461c35ee81086a03f5530372e0dce849d08_2_690x38.png)

I asked the admin guys did anyone logged in as system account and created Test account, yet to get reply from them. If they say nobody logged in as system at that time, then it looks like that box is compromised.

In this case, can anyone create user account through db bypassing email verification? can we see their activity in db logs?

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [July 26, 2024, 2:44pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/21 "2024-07-26T14:44:06Z")

</div>

> [@Mohan43u](#):
>
> somebody logged in as “system”, created a “Test” account and deleted immediately

I think this is shown in the logs when a user uses the delete button at their profile.

 ![image](https://global.discourse-cdn.com/meta/original/4X/3/4/b/34b133bd4ff791afbb9d630f306f8d42feb270a3.png)

---

<div class="post-metadata">

### Author: ![Mohan43u](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mohan43u/32/242076_2.png) [@Mohan43u](https://meta.discourse.org/u/Mohan43u)
#### Post date: [July 26, 2024, 4:23pm UTC](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508/22 "2024-07-26T16:23:25Z")

</div>

If the user delete their account from their profile, do the logs will show `system` in user field? it should be showing ‘Test’ in user field right? there is something fishy here.

[Next page](https://meta.discourse.org/t/disable-unverified-users-to-create-topic/318508.md?page=2)
