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_rolekulcsot soha ne teddNEXT_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.