Articles of senza

Token CSRF necessario quando si utilizza l’autenticazione Stateless (= Sessionless)?

È necessario utilizzare la protezione CSRF quando l’applicazione si basa sull’autenticazione stateless (utilizzando qualcosa come HMAC)? Esempio: Abbiamo un’app per una sola pagina (altrimenti dobbiamo aggiungere il token su ciascun link: … . L’utente si autentica usando POST /auth . In caso di autenticazione corretta il server restituirà un token. Il token verrà memorizzato tramite […]

Come fare l’autenticazione senza stato (senza sessione) e senza cookie?

Bob usa un’applicazione web per ottenere qualcosa. E: Il suo browser è a dieta, quindi non supporta i cookie . L’applicazione web è popolare, si occupa di molti utenti in un dato momento – deve scalare bene. Finché tenere una sessione imporrà un limite al numero di connessioni simultanee e, ovviamente, porterà una penalità di […]

Acquisire / rilasciare semantica con negozi non temporali su x64

Ho qualcosa come: if (f = acquire_load() == ) { … use Foo } e: auto f = new Foo(); release_store(f) Si potrebbe facilmente immaginare un’implementazione di acquire_load e release_store che utilizza atomico con carico (memory_order_acquire) e store (memory_order_release). Ma ora cosa succede se release_store viene implementato con _mm_stream_si64, una scrittura non temporale, che non […]

Invalida sessione JWT lato client

Ho letto molto su JWT e su come creare sessioni “senza stato” tramite JWT. L’essenza di ciò che capisco è che a causa della firma e della scadenza, è ansible essenzialmente inviare l’intera sessione da salvare dal client e il server non deve mantenere un db per ricordare la sessione. Quello che non capisco è […]

Iterazione su std :: vector: unsigned vs signed index variable

Qual è il modo corretto di iterare su un vettore in C ++? Considera questi due frammenti di codice, questo funziona perfettamente: for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } e questo: for (int i=0; i < polygon.size(); i++) { sum += polygon[i]; } che genera un warning: comparison between signed […]

Confronti firmati / non firmati

Sto cercando di capire perché il codice seguente non emette un avviso nel luogo indicato. //from limits.h #define UINT_MAX 0xffffffff /* maximum unsigned int value */ #define INT_MAX 2147483647 /* maximum (signed) int value */ /* = 0x7fffffff */ int a = INT_MAX; //_int64 a = INT_MAX; // makes all warnings go away unsigned int […]

Operazione di confronto su interi senza segno e con segno

Guarda questo snippet di codice int main() { unsigned int a = 1000; int b = -1; if (a>b) printf(“A is BIG! %d\n”, ab); else printf(“a is SMALL! %d\n”, ab); return 0; } Questo dà l’output: a è PICCOLO: 1001 Non capisco cosa sta succedendo qui. Come funziona l’operatore> qui? Perché “a” è più piccolo […]