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.