salve,

sto preparando un'area riservata per il mio sito.
ho trovato un tutorial perfettamente funzionante che utilizza una integrazione tra falsh+php+mysql

questo è il codice php richiamato dal form per salvare i dati su database:

Codice PHP:
<?php
//--------------------MYSQL DETAILS ---------------------------------------//

//mysql details
require_once("dbDetails.php");


//------------------GATHER FORM DETAILS ---------------------------------//
$firstname $_POST['firstname'];
$surname $_POST['surname'];
$age $_POST['age'];
$email $_POST['email'];
$randomPassword generatePassword();


// random password generator courtesy of [url]http://www.totallyphp.co.uk/code/create_a_random_password.htm[/url]
function generatePassword() {

    
$chars "abcdefghijkmnopqrstuvwxyz023456789";
    
srand((double)microtime()*1000000);
    
$i 0;
    
$pass '' ;

    while (
$i <= 10) {
        
$num rand() % 33;
        
$tmp substr($chars$num1);
        
$pass $pass $tmp;
        
$i++;
    }
    return 
$pass;
}

//----first check the email addres does not exist already
$SQL "SELECT * FROM members_tbl WHERE email ='".$email."'";
$rs mysql_query($SQL,$conn);
$numRows mysql_num_rows($rs);
if(
$numRows 0){
    echo 
'&result=emailExists&';
    exit();
//abort php script
}


//--------insert into database------------------------------//

$insertSQL "INSERT INTO members_tbl(first_name, surname, age, email, password) VALUES ('$firstname', '$surname', '$age', '$email', '$randomPassword')";

$rs mysql_query($insertSQL,$conn);


if(
$rs){
  
//send user email with password
   
sendEmail();
   echo 
'&result=success&';
}else{
  echo 
'&result=failure&';
}


//------------------- EMAIL FUNCTIONALITY--------------------------//
//this will send the user his password and in effect this will make sure he has given a valid email address

//the following will be where the user will reply to if need be

function sendEmail(){
    
$yourname 'NOME'//PUT YOUR NAME HERE
    
$youremail 'MAIL@mail.it';//PUT YOUR EMAIL ADDRESS HERE
    
    //to user
    
$headers "From: $yourname <$youremail>\n";
    
$headers .= "Reply-To: $yourname <$youremail>\n";
    
$headers .= "MIME-Version: 1.0\n";
    
$headers .= "Content-type: text/html; charset=iso-8859-1";
    
    
    
//the message body
    
$message "Spett.le ".$GLOBALS['firstname'].",

 XXXX vi ringrazia per la registrazione. LA VOSTRA PASSWORD E': "
.$GLOBALS['randomPassword']."</p>";
    
    
    
mail($GLOBALS['email'], "Ecco i tuoi dettagli di registrazione: "$message$headers);
?>
mentre questo è il codice richiamato dal form di login:

Codice PHP:
 <?php
session_start
();
$email $_POST['email'];
$password $_POST['password'];

//mysqldetails
require_once("dbDetails.php");

$SQL "SELECT * FROM members_tbl WHERE email ='".$email."' AND password = '".$password."'";

$rs mysql_query($SQL,$conn);
$numRows mysql_num_rows($rs);

if(
$numRows 0){
    
$_SESSION['loggedIn'] = true;
    echo 
'login=success';
}else{
    echo 
'login=failure';
}
?>
e fin qui tutto ok. funziona.

ma dopo aver letto la guida sulla sicurezza in PHP di HTML.IT
sono diventato molto sospettoso.
premetto che sono alle prime armi col php, ma è chiaro
che questo codice potrebbe essere facilmente vulnerabile
poichè le password vengono salvate in chiaro sul database,
e vorrei capire come aggiungere la funzione md5 per salvare la firma della password sul database.

se prendo in considerazione questa parte di codice:

Codice PHP:
//------------------GATHER FORM DETAILS ---------------------------------//
$firstname $_POST['firstname'];
$surname $_POST['surname'];
$age $_POST['age'];
$email $_POST['email'];
$randomPassword generatePassword(); 
sulla variabile password creata dalla funzione generatePassword(); manca la voce $_POST

ora, come e dove posso aggiungere la funzione md5 per creare la firma della password?