Ragazzi sto implementando un login in questo modo:
# Al login, il server genera un valore casuale, lo memorizza in una variabile di sessione e lo scrive fisicamente nel codice Javascript contenuto nella pagina, assegnandolo ad una variabile Javascript.

# Quando l'utente invia il form con i dati, viene chiamata una funzione Javascript che calcola innanzitutto l'md5() della password, e poi l'informazione combinata, ovvero l'md5() del "valore casuale più l'md5() della password".

# I contenuti del campo della password nel form vengono cancellati e la funzione Javascript assegna l'informazione combinata ad un campo hidden del form.

# I contenuti del form vengono finalmente inviati al server attraverso il metodo post.

# L'eventuale intercettatore intercetta il valore combinato, ma non se ne farà nulla.

# Il server riceve il valore combinato e controlla che sia effettivamente ciò che esce fuori facendo l'md5() del valore casuale (che sta in una variabile di sessione) con l'md5() della password (che sta nel database).

# Se i valori corrispondono allora l'utente ha inserito la giusta password e il sistema di autenticazione considera l'utente autenticato.

Questa è la pagina di login:
Codice PHP:
<?php 
//Restituisce l'attuale data e orario misurata in numero di secondi dalla Unix Epoch
$idSessione time();
//La variabile di sessione challengeword è il valore casuale con cui la password inserita dall'utente viene combinato. 
$_SESSION['challengeword'] = md5(rand(0,10000));
?>
<script type="text/javascript" src="inc/md5.js"></script>
<script type="text/javascript">
<!--
function encrypt () {
<? echo "var challengeword = '" $_SESSION['challengeword'] . "' ;" ?>
var psw = document.login.psw.value ; 
 if (psw) {
 psw = hex_md5 (psw) ;
 psw = hex_md5 (psw + challengeword) ; 
 document.login.psw.value = '' ;
 document.login.md5ed.value = psw ;
 }
 
}
// -->
</script>
<form name="login" method="post" action="doLogin.php" onsubmit="encrypt () ">
Nome utente: <input type="text" name="username">
Password <input type="password" name="psw">
<input type="hidden" name="md5ed" value="">
<input type="hidden" name="login" value="1">
<input type="submit" value="Login">
</form>
Ora il problema sta nella pagina di controllo della password.
In pratica non riesco a fare la decriptazione della password + la challengeword
Questa è la pagina incriminata:
Codice PHP:
<?
session_start
();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>NoiDelBds</title>
<script type="text/javascript" src="inc/md5.js"></script>
<script type="text/javascript">
<!--
<? echo "var challengeword = '" $_SESSION['challengeword'] . "' ;" ?>
<? 
echo "var md5ed = '" $_POST['md5ed'] . "' ;" ?>
 var psw = hex_md5 (md5ed - challengeword) ;
 alert(psw);
// -->
</script>

</head>

<body>
</body>
</html>
Qualcuno sa aiutarmi???