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