Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Login e sessioni su MySQL - Help :'(

    Salve a tutti.

    Sono alla disperata ricerca di un aiuto per un mio piccolo progetto in PHP che sto realizzando insieme ad alcuni amici.

    Devo, tra le altre cose, scrivere una procedura di log-in che sia il più sicura possibile. Per farlo ho dato uno sguardo alle varie vecchie discussioni del forum, e ho notato, tra le altre, quella di daniele_dll che spiegava il "perchè" sono meglio le sessioni su database che quelle su filesystem.

    Ho provato a mettere in pratica i suoi consigli, purtroppo però, vuoi un po' per i miei limiti (sono un novellino, mi cimento col PHP da 3-4 mesi), ed un po' per la mia sbadataggine, mi sono arenato nella parte della "garbage collection" e del controllo della validità della sessione.

    Arrivo infatti a scrivere nel DB i dati della "sessione virtuale", ma non riesco a settare correttamente la "garbage collection" ogni TOT...

    Posto una versione del codice funzionante della pagina che dovrebbe effettuare il login, che prende i dati da un comunissimo form HTML... qualcuno potrebbe aiutarmi e dirmi cosa ci devo aggiungere, di preciso?

    Vi ringrazio tantissimo sin da ora ^____^


    Codice PHP:

        
    if (($_POST['utente'] == "") || ($_POST['password'] == ""))
            {
            echo 
    "Dati incompleti

    "
    ;
            echo 
    "[url='index.htm']Torna indietro[/url]";    
            exit();
            }

        require (
    'daticonfigurazione.php');

        
    $nomeutente $_POST['utente'];
        
    $password $_POST['password'];
        
        
    mysql_connect($host$user$pass) or die('Non riesco a connettermi al server MySQL');
        
    mysql_select_db($databaseutenti) or die('Non trovo il DB degli utenti');
        
    $querytext = ("SELECT * FROM tabellautenti WHERE UserID = '$nomeutente' ");
        
    $sqlquery mysql_query($querytext) or die('Non riesco a lanciare la query di verifica utente');
        
    $values mysql_fetch_array($sqlquery);
        
        if ((
    $values['UserID'] == $nomeutente) && ($values['Password'] == $password))
            {
            
            
    $ID $values['UserID'];
            
    $IP $_SERVER['REMOTE_ADDR'];
            
    $SID =  md5(uniqid(microtime())); 
            
            
    $timestamp time();
            
            
    // 
            
    mysql_query("DELETE FROM online WHERE IDsessione = '$SID' ") or die('Errore 1');
            
    mysql_query("INSERT tabellaonline (UserID, UserIP, IDsessione, Timestamp) VALUES ('$ID', '$IP', '$SID', '$timestamp')");
            
    mysql_close();

            
    setcookie("ctv000",$SID);
            
    setcookie("ctv001",$values['UserID']); 

            echo 
    "<meta http-equiv='refresh' content='3;URL=/pagina/pagina.php'>";
            exit();
                    } 

  2. #2
    Provo ad uppare... nessuno mi vuole dare una mano?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.