takeone-youtube-clone/app/Rules/NotDisposableEmail.php
ghassan 0b2e95ea65 Add NAS file manager integration and all pending platform changes
- Installed p7h/nas-file-manager package via private VCS repo
- Published config/nas-file-manager.php with super_admin middleware restriction
- Added NAS env vars to .env.example
- Created admin/nas-storage page with connection info panel and file browser widget
- Added NAS Storage link to admin sidebar (super_admin only)
- Added SuperAdminController@nasStorage method and admin.nas-storage route
- Includes all accumulated branch changes: profile wall, 2FA, audit logs,
  settings panel, country/phone/timezone components, posts, slideshow,
  playlist shares, video downloads/shares, comment likes, notifications,
  social links, and more

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 13:24:32 +03:00

142 lines
11 KiB
PHP

<?php
namespace App\Rules;
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
class NotDisposableEmail implements ValidationRule
{
// Top disposable/throwaway email domains
private const BLOCKED = [
'0-mail.com','0815.ru','0clickemail.com','0wnd.net','0wnd.org','10minutemail.com',
'10minutemail.net','10minutemail.org','10minutemail.de','10mail.org','20minutemail.com',
'2prong.com','30minutemail.com','33mail.com','3d-painting.com','4warding.com',
'amilegit.com','anonbox.net','anonymail.net','anonymbox.com','antichef.com',
'antichef.net','antireg.com','antispam.de','antispammail.de','armyspy.com',
'baxomale.ht.cx','beefmilk.com','bigstring.com','binkmail.com','bio-muesli.net',
'bobmail.info','bodhi.lawlita.com','bofthew.com','bootybay.de','bossmail.de',
'bouncr.com','breakthru.com','brefmail.com','broadbandninja.com','bsnow.net',
'bugmenot.com','bumpymail.com','casualdx.com','centermail.com','centermail.net',
'chacuo.net','chammy.info','childsavetrust.org','chogmail.com','choplife.com',
'clixser.com','cmail.net','coiico.com','cool.fr.nf','correo.blogos.net',
'crapmail.org','crossroadsmail.com','curryworld.de','cust.in','dacoolest.com',
'dandikmail.com','dayrep.com','dcemail.com','deadaddress.com','deadletter.ga',
'deagot.com','dealja.com','despam.it','devnullmail.com','dfgh.net',
'digitalsanctuary.com','discardmail.com','discardmail.de','disposableaddress.com',
'disposableinbox.com','disposablemail.net','disposablemail.org','disposablemail.top',
'dispostable.com','dk4f9h7y.fun','dodgeit.com','dodgit.com','donemail.ru',
'dontreg.com','dontsendmespam.de','drdrb.com','drdrb.net','dropmail.me',
'dumpandfuck.com','dumpmail.de','dumpyemail.com','e4ward.com','easytrashmail.com',
'email60.com','emailfake.com','emailias.com','emailigo.com','emailinfive.com',
'emailisvalid.com','emaillime.com','emailmiser.com','emailna.com','emailnax.com',
'emailnew.com','emailo.pro','emailondeck.com','emailthe.net','emailtmp.com',
'emailwarden.com','emailx.at.hm','emailxfer.com','emeil.in','emeil.ir',
'emlhub.com','emltmp.com','enterto.com','ephemail.net','etranquil.com',
'evopo.com','explodemail.com','express.net.ua','eyepaste.com','fakeinbox.com',
'fakeinformation.com','fakemail.fr','fakemailgenerator.com','fakemail.net',
'fastacura.com','fastchevy.com','fastchrysler.com','fastkawasaki.com','fastmazda.com',
'fastmitsubishi.com','fastnissan.com','fastsubaru.com','fastsuzuki.com','fasttoyota.com',
'fastyamaha.com','fatflap.com','fdcserver.net','fightallspam.com','filzmail.com',
'fixmail.tk','fizmail.com','fleckens.hu','flemail.com','frapmail.com',
'friendlymail.co.uk','fuckingduh.com','fudgerub.com','fux0ringduh.com','fyxm.net',
'garliclife.com','gehensiemirnichtaufdensack.de','gelitik.in','get2mail.fr',
'getairmail.com','getonemail.com','giantmail.de','girlsundertheinfluence.com',
'gishpuppy.com','gmailnew.com','goemailgo.com','gorillaswithdirtyarmpits.com',
'gotmail.net','gotmail.org','gowikibooks.com','gowikicampus.com','gowikicars.com',
'gowikifilms.com','gowikigames.com','gowikimusic.com','gowikinetwork.com',
'gowikitravel.com','grr.la','guerillamail.biz','guerillamail.com','guerillamail.de',
'guerillamail.info','guerillamail.net','guerillamail.org','guerrillamail.biz',
'guerrillamail.com','guerrillamail.de','guerrillamail.info','guerrillamail.net',
'guerrillamail.org','guerrillamailblock.com','gustr.com','h.mintemail.com',
'haltospam.com','haqed.com','harakirimail.com','hat-geld.de','hatespam.org',
'herp.in','hidemail.de','high.net','hmamail.com','hopemail.biz',
'hulapla.de','ieatspam.eu','ieatspam.info','ieh-mail.de','ihateyoualot.info',
'iheartspam.org','ikbenspamvrij.nl','imails.info','inboxclean.com','inboxclean.org',
'incognitomail.net','incognitomail.org','insorg.org','internet-e-mail.de','jetable.fr',
'jetable.net','jetable.org','jnxjn.com','joggly.com','junk.to',
'justamail.net','kasmail.com','kaspop.com','killmail.com','killmail.net',
'klzlk.com','koszmail.pl','kurzepost.de','laoeq.com','lavabit.com',
'letthemeatspam.com','lhsdv.com','lifebyfood.com','lol.ovpn.to','lookugly.com',
'lopl.co.cc','lortemail.dk','lovemeleaveme.com','lr78.com','lukop.dk',
'm4ilweb.info','maboard.com','mail-filter.com','mail-temporaire.com','mail.by',
'mail1a.de','mail2rss.org','mail333.com','mailbidon.com','mailblocks.com',
'mailbucket.org','mailchop.com','maileater.com','maileimer.de','mailexpire.com',
'mailfa.tk','mailforspam.com','mailfree.ga','mailguard.me','mailimate.com',
'mailinatar.com','mailinater.com','mailinator.com','mailinator.net','mailinator.org',
'mailinator.us','mailinator2.com','mailincubator.com','mailismagic.com','mailjunk.cf',
'mailjunk.ga','mailjunk.gq','mailjunk.ml','mailjunk.tk','mailme.gq',
'mailme.ir','mailme24.com','mailmetrash.com','mailmoat.com','mailms.com',
'mailnull.com','mailpick.biz','mailproxsy.com','mailquack.com','mailrock.biz',
'mailscrap.com','mailseal.de','mailshell.com','mailsiphon.com','mailslapping.com',
'mailslite.com','mailsoul.com','mailsucker.net','mailtemp.info','mailtome.de',
'mailtothis.com','mailtrash.net','mailtv.net','mailzilla.com','makemetheking.com',
'mbx.cc','mega.zik.dj','meinspamschutz.de','meltmail.com','messagebeamer.de',
'mezimages.net','mintemail.com','moncourrier.fr.nf','monemail.fr.nf','monmail.fr.nf',
'msa.minsmail.com','msgos.com','mt2014.com','mt2015.com','mucincanon.com',
'mucke.de','mugglenet.com','myfastmail.com','mymailoasis.com','mynetstore.de',
'netzidiot.de','neverbox.com','nice-4u.com','nincsmail.hu','nmail.cf',
'nnot.net','nobulk.com','noclickemail.com','nodezine.com','nomail.pw',
'nomail.xl.cx','nomail2me.com','nomoremail.net','nospam.ze.tc','nospam4.us',
'nospamfor.us','nospammail.net','nospamthanks.info','notmailinator.com','nowmymail.com',
'odnorazovoe.ru','onewaymail.com','online.ms','opayq.com','ordinaryamerican.net',
'ovpn.to','owlpic.com','pecinan.com','pecinan.net','pecinan.org',
'pepbot.com','pfui.ru','pimpedupmyspace.com','plexolan.de','pookmail.com',
'privacy.net','proxymail.eu','prtnx.com','purelymail.com','putthisinyourspamdatabase.com',
'qq.com.de','quickinbox.com','rcpt.at','recode.me','recursor.net',
'regbypass.com','rklips.com','rmqkr.net','rppkn.com','rtrtr.com',
'runbox.com','s0ny.net','safe-mail.net','safetymail.info','safetypost.de',
'sandelf.de','saynotospams.com','schafmail.de','schrott-email.de','secretemail.de',
'secure-mail.biz','sexyalwasmi.top','sharedmailbox.org','sharklasers.com','shieldedmail.com',
'shiftmail.com','shitmail.de','shitmail.me','shitmail.org','shitware.nl',
'shortmail.net','sibmail.com','skeefmail.com','slaskpost.se','slopsbox.com',
'smellfear.com','snakemail.com','sneakemail.com','snkmail.com','sofimail.com',
'sogetthis.com','sohu.com.de','soisz.com','spam.la','spam.org.tr',
'spam.su','spam4.me','spamavert.com','spambob.com','spambob.net',
'spambob.org','spambog.com','spambog.de','spambog.ru','spambox.info',
'spambox.us','spamcannon.com','spamcannon.net','spamcero.com','spamcon.org',
'spamcorptastic.com','spamcowboy.com','spamcowboy.net','spamcowboy.org','spamday.com',
'spamex.com','spamfree.eu','spamfree24.de','spamfree24.eu','spamfree24.info',
'spamfree24.net','spamfree24.org','spamgourmet.com','spamgourmet.net','spamgourmet.org',
'spamherelots.com','spamhereplease.com','spamhole.com','spamify.com','spaminator.de',
'spamkill.info','spaml.com','spaml.de','spammotel.com','spamoff.de',
'spamsalad.in','spamslicer.com','spamspot.com','spamstack.net','spamthis.co.uk',
'spamthisplease.com','spamtrail.com','spamtroll.net','speed.1s.fr','speedymail.net',
'spoofmail.de','super-auswahl.de','supergreatmail.com','supermailer.jp','superrito.com',
'superstachel.de','suremail.info','sweetxxx.de','tafmail.com','tagyourself.com',
'teleworm.com','teleworm.us','temp-mail.io','temp-mail.org','temp-mail.ru',
'temp.bartbot.com','tempail.com','tempalias.com','tempe-mail.com','tempemailaddress.com',
'tempinbox.co.uk','tempinbox.com','tempmail.it','tempmail.net','tempmail.us',
'tempmail2.com','tempomail.fr','temporaryemail.net','temporaryemail.us','temporaryforwarding.com',
'temporaryinbox.com','temporarymail.org','tempsky.com','thankyou2010.com','thc.st',
'thelimestones.com','thisisnotmyrealemail.com','throam.com','throwam.com','throwaway.email',
'throwam.com','throwaway.email','throwam.com','tilien.com','tinyurl24.com',
'tmailinator.com','toiea.com','toomail.biz','top9top.com','tradermail.info',
'trash-amil.com','trash-mail.at','trash-mail.com','trash-mail.de','trash-mail.io',
'trash-mail.net','trash2009.com','trash2010.com','trash2011.com','trashcanmail.com',
'trashdevil.com','trashdevil.de','trashemail.de','trashimail.com','trashmail.at',
'trashmail.com','trashmail.es','trashmail.io','trashmail.me','trashmail.net',
'trashmail.org','trashmailer.com','trashpanda.de','trashymail.com','trillianpro.com',
'turual.com','twinmail.de','tyldd.com','uggsrock.com','upliftnow.com',
'uroid.com','username.e4ward.com','venompen.com','veryrealemail.com','vidchart.com',
'viditag.com','viewcastmedia.com','viewcastmedia.net','viewcastmedia.org','vomoto.com',
'vubby.com','walala.org','watch-harry-potter.com','wetrainbayarea.com','wetrainbayarea.org',
'wilemail.com','willhackforfood.biz','willselfdestruct.com','wmail.cf','wolfsmail.tk',
'wuzupmail.net','xagloo.com','xemaps.com','xents.com','xMailer.net',
'xmaily.com','xn--9kq967o.com','xoxox.cc','xperiae5.com','xyzfree.net',
'yahomail.org','yapped.net','yepmail.net','yourdomain.com','yopmail.com',
'yopmail.fr','yopmail.net','youremail.cf','yourewronghello.com','z1p.biz',
'za.com','zippymail.info','zoemail.net','zoemail.org','zomg.info',
'zxcv.com','zxcvbnm.com','zzz.com',
];
public function validate(string $attribute, mixed $value, Closure $fail): void
{
$domain = strtolower(trim(substr(strrchr($value, '@'), 1)));
if (in_array($domain, self::BLOCKED, true)) {
$fail('Registrations from disposable email addresses are not allowed.');
}
}
}