Qual è la best practice per la sicurezza delle applicazioni Web per HTTP Richiedi la richiesta? [duplicare]

2

Se ho l'URL GET dell'applicazione web che mi fornisce i dettagli di un particolare utente. Cos'è più sicuro / che è una buona pratica?

ad es.

www.xyz.com/user?id=10

o

www.xyz.com/user?fname="abc"&lname="lmn"

Oppure qualcos'altro è preferito?

Quali punti dovrebbero essere considerati?

Ho una pagina con un elenco di utenti, su cui fare clic sul nome utente dovrebbe portare a particolari dettagli dell'utente.

    
posta bhushan5640 11.04.2016 - 09:30
fonte

2 risposte

0

Presumo che ci sia un meccanismo di autenticazione non visibile negli URL di esempio che ci hai mostrato e che il traffico sia protetto da SSL.

L'unica volta che qualcuno può vedere la richiesta ma non la risposta è nei registri del server - li memorizzi davvero in modo diverso da come gestisci i dati dell'applicazione?

Se gestisci l'accesso ai tuoi registri, poiché la risposta includerà i dettagli del cliente, cercare di limitare o nascondere le informazioni nella richiesta non ha alcuno scopo utile. I log OTOH sono archiviati ad entrambe le estremità dell'interazione; i tuoi utenti sono meglio serviti nascondendo i dati? Questo dipende dal servizio che offri, dalla tua base di utenti e dalla natura dei dispositivi utilizzati. Ma nella maggior parte degli scenari posso immaginare, per qualcuno che vuole osservare queste informazioni, i bit interessanti possono essere visti in altri posti rispetto alla query nell'URL.

Un'ulteriore considerazione se la specificità e il costo del trattamento. Cosa succede se hai più di un record con lo stesso fname e lname? Se il costo di risoluzione di una forma di query è particolarmente elevato, allora potrebbe essere una strada per un attacco DOS.

    
risposta data 11.04.2016 - 12:19
fonte
0

Poiché la richiesta GET è più soggetta a essere salvata in vari registri, è considerato pericoloso inserire in essi informazioni private o confidenziali.

L'uso di un ID è perfettamente corretto dato che si tratta di dati anonimi. Se il tuo ID utente non è una chiave surrogata , dovresti crearne uno nuovo e usarlo per identificare esternamente l'utente.

    
risposta data 11.04.2016 - 10:01
fonte

Leggi altre domande sui tag