Sto usando uno schema di sicurezza personalizzato per verificare la comunicazione tra client e server.
Sia il client che il server hanno la stessa frase di hash
- Il cliente crea un messaggio , lo combina con la frase di hash e calcola SHA512 hash e invia entrambi messaggio e hash al server
- Il server riceve un messaggio , combinato con la frase di hash e calcola SHA512 hash , quindi verifica che hash sia uguale a quello inviato dal cliente
Questo schema funziona bene, ma consente all'uomo nel mezzo di annusare il messaggio e inviarlo di nuovo, ancora e ancora sul server.
Ora so come risolvere questo problema, ad esempio assegnando un ID univoco a ciascun messaggio e rifiutando i duplicati, ma questi ID univoco devono essere memorizzati da qualche parte ( database, sessione, ...)
C'è qualche altro approccio stateless che può risolvere questo problema?