La sicurezza di un parametro URL univoco [duplicato]

0

Prendiamo ad esempio un semplice sistema di messaggistica. Gli utenti possono inviarsi reciprocamente messaggi personali. Durante la lettura di un messaggio personale inviato all'utente, l'URL sarà simile a http://www.example.com/messaging.php?mailid=453796451 . Vedo molti siti Web che recuperano dati utilizzando solo un identificatore univoco, come 45379451 in questo caso. Se qualcun altro conoscesse questo identificatore univoco, sarebbe in grado di leggere il messaggio privato inviato dall'utente A all'utente B.

Ora la mia domanda è se tale id passato tramite l'URL sia davvero sicuro? In questo caso l'id è composto da 8 numeri, il che significherebbe che un hacker dovrebbe provare 100.000.000 di numeri in un massimo, per leggere il messaggio privato. Ma se il database memorizza un milione di messaggi privati, l'hacker sarebbe in grado di leggere un messaggio privato all'incirca ogni 100 tentativi. È quindi una cattiva idea far sì che il sistema si basi solo sull'ID passato tramite l'URL, oppure è difficile controllare se l'utente corrisponda al destinatario del messaggio?

Attualmente sto programmando un sistema di messaggistica privato e mi stavo chiedendo quale sarebbe stata la migliore pratica per farlo.

Scusa se il mio titolo è un po 'fuorviante, non potrei pensare ad un altro modo per descrivere questo problema.

    
posta P.Yntema 15.09.2015 - 19:20
fonte

1 risposta

1

in this case. If someone else would known this unique identifier, he would be able to read the private message sent from user A to user B.

Questo non è (necessariamente) vero. Di solito, ci sono account utente su tali siti e un utente che accede crea una sessione con un ID in un cookie. messaging.php può quindi verificare se l'ID di sessione dato corrisponde al proprietario del messaggio richiesto e visualizzare un messaggio di errore se non lo fa.

Se qualcun altro ottiene l'ID sessione , allora è vero che l'accesso è possibile. Tuttavia, ottenere non è è così facile. È sicuramente più lungo dell'ID del tuo messaggio e non dell'auto-incremento; la supposizione richiederebbe molto più tempo (in particolare è necessario l'ID di sessione singola che calcola l'ID del messaggio corrente, non solo un ID di sessione). E ci sono molte cose che impediscono la lettura dei dati dei cookie da parte di tutto ciò che non proviene dal sito di creazione dei cookie stesso.

    
risposta data 15.09.2015 - 19:24
fonte

Leggi altre domande sui tag