Baza wiedzy

Nonce (Number Used Once)

Losowo wygenerowany, jednorazowy ciąg kryptograficzny przypisany do żądania, zapobiegający m.in. ponownemu przesłaniu złośliwego pakietu danych (Replay Attacks).

← Wróć do bazy wiedzy

Jak to działa



Nonce to liczba (często generowana jako zabezpieczony hash), która ze swojej definicji może być w pełni użyta i zweryfikowana przez system tylko jeden raz. Serwer generuje klucz, wysyła go do przeglądarki, a przeglądarka musi zwrócić ten sam klucz przy konkretnej operacji. Gdy akcja zakończy się sukcesem, Nonce wygasa na zawsze.



Wsparcie dla Content Security Policy



Jednym z najczęstszych wdrożeń tego mechanizmu we front-endzie jest obrona przed iniekcją złośliwego JavaScriptu (XSS). Dodając parametr nonce="losowy-klucz" do dozwolonych skryptów <script>, twórca zapewnia, że polityka CSP zablokuje wszystkie inne, niepodpisane pliki JS dodane podstępem przez napastnika.



Nonce w porównaniu do CSRF Tokenów



O ile tokeny CSRF zazwyczaj przypisane są do całej żywotności danej sesji (utrzymującej logowanie w CMS), Nonce z natury traci ważność od razu po jednej operacji lub bardzo krótkim czasie. Dodatkowo w starszych ekosystemach wtyczek (np. system API WordPressa) Nonce stanowi podstawowy mechanizm uwierzytelniający autoryzację do poszczególnych widoków czy edycji wpisu.

Przykład wdrożenia
Powiązane pojęcia
Kontakt
Masz pytanie techniczne?

Porozmawiajmy

Chętnie wyjaśnię, jak te pojęcia przekładają się na Twój projekt.

Skontaktuj się