Learning
Supabase

Best practice-ek

RLS, env kulcskezelés, server-side auth guard, lekérdezés optimalizálás, pagination és indexek.

Best practice-ek

Row Level Security (RLS)

Az RLS a legfontosabb védelmi vonal. Engedélyezd minden táblán, és írj policy-kat.

ALTER TABLE todos ENABLE ROW LEVEL SECURITY;

CREATE POLICY "Saját todo-k megtekintése"
ON todos FOR SELECT
USING (auth.uid() = user_id);

Környezeti változók és kulcsok

NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...

A service_role kulcsot soha ne tedd NEXT_PUBLIC_ alá.

Auth ellenőrzés szerver oldalon

import { redirect } from "next/navigation"
import { createClient } from "@/utils/supabase/server"

const supabase = createClient()
const { data: { user } } = await supabase.auth.getUser()
if (!user) redirect("/login")

Lekérdezés optimalizálás

  • Ne select("*")-olj nagy táblán.
  • Használj .range() / .limit() lapozáshoz.
  • Indexelj gyakran szűrt mezőket (pl. user_id, created_at).

Rövid összefoglaló

  • RLS + helyes kulcskezelés nélkül a rendszer könnyen sebezhető.
  • Paginate + mező-szelektálás + indexek = gyorsabb app.

On this page