Czy komponent serwerowy albo server action automatycznie chronią dane?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Nie. Wykonanie kodu na serwerze pomaga ukryć sekrety i kod połączenia z bazą, ale serwer nadal może zwrócić dane nieuprawnionej osobie. Muszę sprawdzić użytkownika i jego prawo do konkretnego obiektu.
Funkcję wywoływaną z przeglądarki traktuję jak wejście do backendu: nie ufam argumentom tylko dlatego, że pochodziły z naszego formularza. Server action także wymaga sprawdzenia danych i dostępu. Z kolei komponent kliencki jest potrzebny do części interakcji, ale nie oznacza to, że nigdy nie bierze udziału we wstępnym przygotowaniu widoku na serwerze. Szczegóły zależą od użytego routera i wersji Next.
Dlaczego to ważne: Dostęp do danych musi być sprawdzany poza ukrywaniem przycisków w UI.
Możliwe dopytania: Co jeśli ktoś wywoła akcję bez używania naszego formularza?
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Zacznij od
- C-P01 · Czym jest React i czym jest komponent? — React, Next.js i frontend
- C-P02 · Czym różnią się props i state? — React, Next.js i frontend
- C-P04 · Do czego służy useEffect i co oznacza tablica zależności? — React, Next.js i frontend
Dalsza lektura
- Next.js: Caching and Revalidating (Previous Model)(otwiera się w nowej karcie)Docs; dostęp 22.10.2026. Zależność od routera, wersji i Cache Components; brak jednej reguły dla całego Next.