phpBB: Temporäre E-Mail-Dienste von Registrierung ausschließen
Aus unterschiedlichen Gründen kann es sinnvoll sein, temporäre E-Mail-Dienste von der Registrierung neuer (Foren-)Konten auszuschließen. Anbei ein Bash-Skript, dass diesen Vorgang für die Forensoftware phpBB automatisiert. Nutzung auf eigene Gefahr:
#!/bin/bash ## Auto update phpBB E-Mail blocklist # Download blocklists curl -s https://raw.githubusercontent.com/wesbos/burner-email-providers/master/emails.txt > email_blocklist01.txt curl -s https://raw.githubusercontent.com/disposable-email-domains/disposable-email-domains/master/disposable_email_blocklist.conf > email_blocklist02.txt # Combine blocklists & remove duplicate lines cat email_blocklist01.txt email_blocklist02.txt > all_emails.txt sort all_emails.txt | uniq > clean_emails.txt # Convert blocklist for phpBB sed 's/^/*@/' clean_emails.txt > burner_emails.txt # Combine blocklists cat burner_emails.txt custom_burner_emails.txt > all_burner_emails.txt # Get Linux/UNIX timestamp timestamp=$(date +%s) # Cleanup phpbb_banlist table mysql --database=phpbb --execute="TRUNCATE TABLE phpbb_banlist;" # Insert blocklist into phpbb_banlist table while IFS= read -r line; do $(mysql --database=phpbb --execute="INSERT INTO phpbb_banlist (ban_email, ban_start, ban_reason, ban_give_reason) VALUES ('$line', $timestamp, 'Temporäre E-Mail-Adresse', 'Bitte verwende einen regulären E-Mail-Anbieter.');") done < all_burner_emails.txt # Manual blocklist mysql --database=phpbb --execute="INSERT INTO phpbb_banlist (ban_email, ban_start, ban_reason, ban_give_reason) VALUES ('*@googlemail.com', $timestamp, 'Spam Anbieter', 'Aufgrund von zu viel Foren-Spam sind Gmail-Adressen nicht zugleassen.');" mysql --database=phpbb --execute="INSERT INTO phpbb_banlist (ban_email, ban_start, ban_reason, ban_give_reason) VALUES ('*@gmail.com', $timestamp, 'Spam Anbieter', 'Aufgrund von zu viel Foren-Spam sind Gmail-Adressen nicht zugleassen.');" ## Cleanup # phpBB cache php /var/www/sites/forum.kuketz-blog.de/bin/phpbbcli.php cache:purge > /dev/null 2>&1 # Files rm email_blocklist01.txt rm email_blocklist02.txt rm all_emails.txt rm clean_emails.txt rm burner_emails.txt rm all_burner_emails.txt # Send e-mail notification echo "phpBB E-Mail blocklist updated." | s-nail -E'set nonullbody' -s "phpBB blocklist - [Webserver]" root@localhost
Hilf mit die Spendenziele zu erreichen! Mitmachen ➡