Ciao fcaldera,
ti spigo brevemente quello che ho in mente riguardo l'autenticazione degli utenti. Praticamente quando l'utente scrive nei campi user e password i propri dati, subito dopo schiccia il tasto submit e invia in rete i dati, e fin qui ci siamo.

Ora (io uso PHP) quindi sul server questi parametri immessi li prendo con l'array globale POST, rispettivamente con:
  • $_POST['user']
  • $_POST['password']

In questi 2 array ci sono comunque i valori scritti in chiaro; anche se io faccio
  • $user=md5($_POST['user']);
  • $password=md5($_POST['password']);

l'avrò comunque fatto lato server e non mi serve. Perchè non mi serve?
Non mi serve perchè se si riescono ad intercettare i 2 array prima che arrivino sul server potrebbero essere tranquillamente decifrati permettendo di vedere chiaramente i 2 valori.

Se invece riesco a ottenere le 2 variabili lato client prima che questi schiaccia il submit, io ci applico una funzione personalizzata la quale mi permette di ottenere nei due array globali un valore che non è il reale valore che l'utente ha scritto quindi anche se vengono intercettati i 2 $_POST[] e decifrati vedranno 2 valori che non corrispondono ai reali valori di autenticazione.

Come è possibile che il server riesca a capire se i valori sono esatti?
Semplice, io conosco la funzione personalizzata che ho adottato per cifrare i 2 valori lato client applico la funzione inversa e faccio il normale confronto con i valori che il server conosce.

Faccio un esempio banalissimo per rendere più chiaro il concetto.
la password è uguale a 3
la funzione personalizzata è per esempio elevamento a potenza.
Prima che 3 venga inviato in rete applico la funzione personalizzata ottenendo così il 9. In rete viaggerà il numero 9 non il 3. Arriverà sul server il 9 ci applico la radice quadrata ottenendo la password reale senza che questi abbiamo viaggiato in rete. Ovviamente lo faccio a entrambi i campi.

Ecco perchè volevo capire se quello che scrive l'utente nei 2 campi di autenticazione può essere inserito in 2 varibili diverse prima di schiacciare il bottone SUBMIT.

Resto a disposizione per ulteriori chiarimenti.