Sicherheit·Base44
SicherheitBase44

Supabase Row Level Security auf jeder Tabelle aktivierenBase44

Supabase-Tabellen sind für jeden mit dem Anon-Key (der zum Browser shippt) lesbar — ausser RLS ist aktiv. Ohne RLS kann jeder Besucher deine ganze users-Tabelle dumpen.

rocket_launch

In Base44 fixen

No-Code + AI-App-Builder

Base44 generiert wiederverwendbare Blocks — viele Fixes werden angewendet indem man den betroffenen Block mit klareren Instruktionen neu generiert. Prompt unten in deinen Base44-Chat einfügen und der Fix rollt in einem Rutsch über das ganze Projekt aus.

Anderes Tool? Wähle deinen Stack:

Der Prompt für Base44

Diesen Text exakt so in deinen Base44-Chat kopieren und einfügen.

In Base44, regenerate the affected blocks with these exact instructions:

Enable Supabase Row Level Security

1. Open the Supabase dashboard → Authentication → Policies.
2. Enable RLS on EVERY table (no exceptions, even ones you think are public).
3. Add explicit policies (e.g. `auth.uid() = user_id`) — RLS without policies blocks everything.
4. Audit your client code: only the anon key should ever reach the browser, never the service_role key.

Warum das wichtig ist

Supabase hat einen Job: eine PostgreSQL-DB sein mit der du aus dem Browser sprichst. Der Preis dieser Convenience ist RLS — ohne RLS kann jeder mit deinem Anon-Key (sichtbar im JS-Bundle) jede Query auf jede Tabelle laufen lassen.

Einzelnes häufigstes Severe-Finding in Lovable- und Bolt-Apps. Ein Dev folgt dem Supabase-Quickstart, baut ein User-Dashboard, shippt es, und merkt nicht dass `select * from users` die Email jedes Users aus einem Browser-Tab liefert. Wir haben Sites auditiert wo die gesamte Kunden-DB so offen lag.

RLS ist nicht kompliziert. Für "User sehen nur ihre eigenen Rows" ist die Policy eine SQL-Zeile: `using (auth.uid() = user_id)`. Die meisten Apps brauchen unter 10 Policies total über alle Tabellen.

So nutzt du diesen Prompt in Base44

  1. 1. Dein Base44-Projekt öffnen.
  2. 2. Prompt oben mit Copy-Button kopieren.
  3. 3. In Base44-Chat einfügen und senden.
  4. 4. Diff reviewen, Änderungen akzeptieren, neu deployen.
  5. 5. Fix mit der Checkliste unten verifizieren.

Typische Fehler vermeiden

  • error_outlineRLS aktivieren aber SELECT-Policy vergessen — Tabelle wird unsichtbar, Features brechen, Devs deaktivieren RLS wieder.
  • error_outlinePolicy mit `using (true)` "damit es läuft" — gleich wie kein RLS.
  • error_outlineService_role-Key in Client-Datei weil "nichts ging" — umgeht RLS komplett.
  • error_outlineRLS nur auf Tabellen die man für sensitiv hält — die übersehene ist immer das Problem.
  • error_outlineRLS manuell auf Supabase-Auth-Tabellen — die sind von Supabase gemanaged, in Ruhe lassen.

Wie du prüfst ob der Fix geklappt hat

  • check_circleSupabase-Dashboard → Authentication → Policies — jede Non-Auth-Tabelle zeigt RLS aktiv und mindestens eine Policy.
  • check_circleAus Incognito-Browser (unauth) ein `select` auf jede Tabelle — muss 401 oder leer liefern.
  • check_circlePantra Security Audit zeigt "Supabase RLS: pass" (sonst als kritisch geflaggt).
  • check_circleSQL-Query: `select tablename from pg_tables where schemaname='public' and rowsecurity=false` — muss null Rows liefern.

Häufige Fragen

Wieso "bricht" RLS-Aktivierung alles?expand_more
Weil RLS ohne Policies heisst niemand liest die Tabelle. Policies passend zum Access-Pattern setzen (z.B. `using (auth.uid() = user_id)` für Per-User-Daten).
RLS nötig auf Server-only-Tabellen?expand_more
Wenn du sie nur via service_role vom Server nutzt, technisch nein. Aber RLS trotzdem aktivieren — Defense in Depth. Future-You oder ein Kollege wird sie irgendwann im Client öffnen.
Wie teste ich Policies?expand_more
Supabase-Dashboard hat einen Policy-Tester. Auch aus Incognito-Browser ohne Auth testen — wenn du etwas abfragen kannst was nicht gehen sollte, ist die Policy falsch.

Alle 34 Prompts passend zu deiner Base44-Site?

Pantra scannt deine Site in 10 Sekunden, erkennt den Stack und generiert genau die Prompts die passen — nur die du brauchst.

Site scannen

Ähnliche Base44-Prompts