Su un sistema basato su REST, quali sono le opzioni per "crittografare" l'ID delle risorse.Sicurezza REST Buona pratica durante l'esposizione delle risorse ID
Per esempio:
/client/2
sarebbe accessibile a
/client/SOMEHASHKEY
Sto pensando:
1 - Avere le tabelle DB che registra un ID di risorsa ed è hash corrispondente e cercalo su ogni richiesta Questo ovviamente sembra abbastanza pesante da implementare e aumentare il lavoro del server un po '.
2 - avere un qualche tipo di algoritmo di crittografia interna che avrebbe creato un hash, per esempio in base alla data di creazione delle risorse, l'ID risorse e base64 (ovviamente non ottimali, ma si ottiene il punto)
Quindi sono lì buone pratiche per questo tipo di scenari? Cosa raccomanderesti ?
Molte grazie
ronzio quindi se prendo la tua risposta e provo ad applicarla alla mia domanda intendi l'uso della tabella per tenere traccia della corrispondenza tra Hash, GUID o qualsiasi altra cosa e la vera risorsa? – silkAdmin
Dipende da come la tua applicazione memorizza la risorsa. Non ho idea di come appare la risorsa all'interno dell'applicazione. Ma sì, se devi attaccare internamente gli ID interi, quindi aggiungi un'altra proprietà guid al tuo modello client. Se lo spazio di archiviazione è una tabella del DB SQL, quindi memorizzare il guid in un campo aggiuntivo della tabella client. – stmllr
così da riportarci alla domanda "buona pratica", immagino che il tuo punto sia che dovrei indicizzare un UUID sulla tabella delle risorse stessa? – silkAdmin