You need to must verify email interface and also keep the email as unique in database table and validation also.
The. You Will be able to prevent the fake random users to register.
Untill they didn't verify the email do not registered that user into your database.
Yea. But that is where the use of a decent hosting comes in (VPS, cloud, managed hosting like Laravel Forge, Vapor, etc.), instead of having to use shared hosting with slow DNS resolvers.
Also, it is a sign up (validating one email at a time) not bulk verification.. So using email:rfc,dns in production is generally fine, as long as one is using it in the right context.
I would suggest 2FA authentication. Also AI is hitting many websites looking for answers.
The Freecad website had to take measures against bots hitting the site.
AI doesn't actually answer, AI compiles answer from sources, other websites.
But AI doesn't create an account, so you have spamming happening to your site.
Careful or you may encounter a DDoS attack.
I know laracasts had a similar problem a while back, but I am not sure how @jeffreyway is handling it.
@dmytro_shved It’s not people. It’s bots. And if your website just lets people create an account with a simple form submission, then you’re going to get picked as a target.
You need to add deterrents in place that aren’t too much friction for a genuine user attempting to create a single account, but annoying for something trying to create multiple. So things like rate limiting, adding a CAPTCHA to your registration form, etc.
Depending on what mail service you use to send the verification email, you could go one step further. Most mail services will send a webhook if an email bounces, so if the verification email bounces then you know it’s fake, and could have a webhook listener that just automatically deletes the associated account and blocks the address from being used to create any new ones.
... blocks the address from being used to create any new ones
I mean how should I block that email? Should I create separate table for bounced_emails and then create vlidation rule that checks if email is in the black list? Or there is another way to block email?