As spammer start flooding my users table with fake-accounts i startet to develop a command for laravel to run in a cron job for deleting all users which didnt verified their email within the last 24 hours.
A nice how-to do a laravel console command for cron can be found at: https://tutsforweb.com/how-to-set-up-task-scheduling-cron-job-in-laravel/
This is my routine to select all users which haven’t confirmed their email and their register date is older than 24 hours.
public function handle()
{
$results = User::whereNull('email_verified_at')->get();
$results = $results
->where('created_at', '<', Carbon::now()->subDays(1)->toDateTimeString());
foreach ($results as $result)
{
$result->delete();
}
}Added the following command to the crontab by crontab -e on the webserver to execute the command:
cd /var/www/vhosts/rolandradio.net/rolandradio2020 && /opt/plesk/php/7.4/bin/php artisan schedule:run >> /dev/null 2>&1