Stop SaaS-datalekken in Laravel
Je runt een B2B SaaS. Je moet klantgegevens gescheiden houden.
Veel ontwikkelaars voegen tenant-filters handmatig toe. Ze voegen een where-clause toe aan elke query.
Dit leidt tot menselijke fouten. Een ontwikkelaar vergeet één regel in een rapport. Nu ziet Klant A de gegevens van Klant B. Dit is een ramp.
Automatiseer dit met Global Query Scopes.
Dit is het proces:
Bouw een scope-class. Deze class vindt de huidige tenant ID. Het voegt de filter toe aan elke database-lookup.
Maak een trait. Deze trait registreert de scope. Het stelt ook de tenant ID in wanneer je een nieuw record aanmaakt.
Gebruik de trait in je models. Je controllers blijven schoon.
Je hebt nu een zero-trust-laag. Zelfs een eenvoudige aanroep zoals Invoice::all() blijft veilig.
Veiligheid is nu onderdeel van je ontwerp. Het is niet langer een handmatige checklist.
Bron: https://dev.to/iprajapatiparesh/prevent-saas-data-leaks-automated-eloquent-scopes-in-laravel-f6o