Quando si accede a una pagina Web, cosa succede esattamente quando un utente digita la password sbagliata?

-3

Ho due domande correlate su cosa succede quando un utente tenta di accedere a un sito web

Se la password inserita è sbagliata, cosa dovrebbe succedere?

Ho due idee:

  1. Reindirizza a una pagina che dice "nome utente / password errati, fai clic qui per riprovare"
  2. Reindirizza sempre alla sezione membri poiché controlla già se la sessione variabile è stata impostata e in caso contrario l'utente vedrebbe "Non sei loggato. Clicca qui per accedere".

Come funziona quando la pagina non ha bisogno di ricaricare per dire a un utente che la password inserita è sbagliata?

Deve usare Ajax / JavaScript, ma chiunque potrebbe interferire con quello usando il Fiddler o Charles . Questa funzione è solo per scopi di praticità e anche se il codice JavaScript dice la password giusta, sul server la password inserita viene ricontrollata e se corrisponde alla sessione viene creata?

    
posta Celeritas 27.02.2013 - 00:16
fonte

1 risposta

2

Per la tua prima domanda, ciò dipenderà dalla tua logica applicativa e da ciò che funziona meglio nella circostanza. Ad esempio, se si dispone di una casella di accesso su ogni schermata, in caso di accesso non riuscito, è possibile che si desideri restituire l'utente alla stessa pagina e inviare un messaggio o un avviso, poiché potrebbe esserci intenzione di rimanere sulla stessa pagina e quindi salvare loro navigazione. In altri casi, puoi indirizzarli a una pagina con solo l'avviso o la pagina dei membri con un messaggio di avvertimento bloccato. Direi da un punto di vista dell'usabilità che probabilmente stai meglio tenerli dove sono, a meno che non ci sia una netta separazione tra il sito "pubblico" e il sito "privato". Metaforicamente, è l'accesso su un cancello o su un interruttore della luce?

Per quanto riguarda la seconda domanda in termini di sicurezza, non importa se si tratta di una richiesta a pagina intera o AJAX. La logica lato server sarà ancora necessaria per creare la sessione, i cookie e qualsiasi altra impostazione di back-end che modifichi la sessione in modo che sia autenticata. Se stai dicendo che potrebbero interferire con la convalida sul lato client, la risposta non sarebbe basata sulla convalida del lato client. Se sei preoccupato che un qualche tipo di attacco XSS o attacco MiTM possa impedire la visualizzazione di questo messaggio, dovrai indirizzare i vettori di attacco separatamente.

Il lato server deve essere coinvolto per creare la sessione. Se stavate controllando la password sul lato client, ciò significherebbe che avete già fornito la password in una variabile, cookie, memoria locale, file, ecc. Sarebbe una scelta di sicurezza scarsa. La sessione dovrebbe ancora essere configurata sul lato server. La maggior parte delle cose che stai facendo con HTML / JavaScript / AJAX manipoleranno il contenuto una volta fornito dal server.

Se la sicurezza sta solo controllando alcune variabili locali che sono la password, chiunque potrebbe modificare il codice di verifica logica localmente e bypassare la protezione. Se hai bisogno di sicurezza reale, non solo di un blocco rapido per gli utenti finali di base, dovresti assicurarti che il controllo della password si verifichi solo dove controlli il codice, lato server.

    
risposta data 27.02.2013 - 00:45
fonte