Visualizzazione risultati 1 fino 11 di 11

Discussione: Login con MySQL

  1. #1
    Guest

    Predefinito Login con MySQL

    Preambolo (anche saltabile)
    Salve a tutti, stò realizzando un pannello di controllo su misura per il mio sito (in generale per le web directory).
    Il pannello è stato interamente terminato mesi fa, ma a seguito di un attacco lamer è andato tutto perso.
    Ovviamente sul server avevo montato una copia background, ma i databases erano gli originali di cui non tengo/tenevo un backup.
    Detto questo ho perso tutto, e ho deciso che "non tutti i mali vengono per nuocere", così ho creato una nuova versione del pannello.


    Avevo in uso un sistema di login scritto in una array, perchè credo che se possibile le array sono più sicure dei databases, meno attacabili e gestite dall'amministratore del sito, però ora ho voluto sostituirlo con uno interagendo anche MySQL.
    Vorrei capire perchè questo semplicissimo login nno funzia:

    Codice PHP:
    //Si connette al database
    include 'conf/inc.php';
    //Crea sessione di lavoro
    $dati = "SELECT password FROM utenti WHERE username='" . $_POST['username'] . "'";
    $res1 = mysql_query($dati) or die("Username o password non validi");


    setcookie("widliteuser", "$dati['username']", time( ) + 60*60*24*7);
    setcookie("widlitepass", "$dati['password']", time( ) + 60*60*24*7);
    Ovviamente prima c'è l'immissione da parte dell'utente di username e password...
    Grazie anticipatamente e buona domenica a tutti.

  2. #2
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    Codice PHP:
    //Si connette al database
    include 'conf/inc.php';
    //Crea sessione di lavoro
    $dati = "SELECT password FROM utenti WHERE username='" . $_POST['username'] . "'";
    $res1 = mysql_query($dati) or die("Username o password non validi");
    $dati = mysql_fetch_array($res1);

    setcookie("widliteuser", "$dati['username']", time( ) + 60*60*24*7);
    setcookie("widlitepass", "$dati['password']", time( ) + 60*60*24*7);
    EDIT: Avevo sbagliato, ora ho corretto
    Ultima modifica di mythologia : 02-10-2005 alle ore 16.19.38

  3. #3
    Guest

    Predefinito

    Non va... :(
    Non funzia...
    http://admincp.widlite.com/login.php

    EDIT: Non funziana manco ora con le modifiche, webrot
    Ultima modifica di Hobbit206 : 02-10-2005 alle ore 18.47.15

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    //Si connette al database
    include 'conf/inc.php';
    //Crea sessione di lavoro
    $dati = "SELECT username,password FROM utenti WHERE username='" . $_POST['username'] . "'";
    $res1 = mysql_query($dati) or die("Username o password non validi");
    $dati = mysql_fetch_array($res1);

    setcookie("widliteuser", "$dati['username']", time( ) + 60*60*24*7);
    setcookie("widlitepass", "$dati['password']", time( ) + 60*60*24*7);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    ancora nno va...
    Vorrei capire dove stà l'errore...

  6. #6
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

  7. #7
    Guest

    Predefinito

    Codice PHP:
    <?
    //Si connette al database
    include 'conf/inc.php';
    //Crea sessione di lavoro
    $dati = "SELECT username,password FROM utenti WHERE username='" . $_POST['username'] . "'";
    $res1 = mysql_query($dati) or die("Username o password non validi");
    $dati = mysql_fetch_array($res1);

    setcookie("widliteuser", "$dati['username']", time( ) + 60*60*24*7);
    setcookie("widlitepass", "$dati['password']", time( ) + 60*60*24*7);
    //Versione Programma
    $versione = "1.0";
    //Definisce impostazione di pagina
    print "<!DOCTYPE HTML SYSTEM><html><head>
    <script language=\"JavaScript\" type=\"text/javascript\">
    location.href=\"index.php\";
    </SCRIPT>
    <title>Widerlite - wdir admincp
    $versione - Login</title>";
    print
    "<link rel=\"stylesheet\" href=\"conf/style.css\" type=\"text/css\" title=\"Default CSS\"></head>";
    print
    '<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">';
    //Inizia la tabella
    print '<div align="center"><table width="800" border="0" cellpadding="0" cellspacing="0">';
    print
    '<tr><td colspan="5"><img src="images/header.jpg" width="800" height="205" alt=""></td></tr>';
    print
    '<tr><td rowspan="2"><img src="images/sublink.jpg" width="37" height="441" alt=""></td>';
    print
    '<td><img src="images/menbar.jpg" width="186" height="34" alt=""></td>';
    print
    '<td rowspan="2"><img src="images/submen.jpg" width="73" height="441" alt=""></td>';
    print
    '<td rowspan="2" background="images/content1.jpg" width="451" height="441" valign="top">';
    //Content Box
    print '<p align="left"><span class="titoletto">Wdir 1.0 Login effettuato</p></span>';
    print
    '<span class="testo">Cookie creati correttamente per questa sessione di amministrazione. Attendere l\'avvio del programma...</span>';
    print
    '<br><br>';
    //Menu Pagina
    print '</td><td rowspan="2"><img src="images/right-side.jpg" width="53" height="441" alt=""></td></tr>';
    print
    '<tr><td background="images/content.jpg" width="186" height="407">';
    print
    '<center><span class="menu">Login di verifica in corso...</span></center>';
    //termina la tabella
    print '</td></tr>';
    print
    '<tr><td colspan="5"><img src="images/footer.jpg" width="800" height="254" alt=""></td></tr></table></div></body></html>';
    ?>

  8. #8
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Prima di fare l'include salva la variabile post in una variabile ed usa quella.

    PS
    ricordati di controllare cosa inseriscono o il tuo script sarà facilmente attaccabile
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da binarysun
    Prima di fare l'include salva la variabile post in una variabile ed usa quella.

    PS
    ricordati di controllare cosa inseriscono o il tuo script sarà facilmente attaccabile
    Eheh lo so...
    Infatti con mytho abbiamo studiato un programma imbucabile...

    EDIT: Ancora non funzia...
    Codice PHP:
    <?
    //Si connette al database
    include 'conf/inc.php';
    $user = htmlentities($_POST['username']);
    $pass = htmlentities($_POST['password']);

    //Crea sessione di lavoro
    $dati = "SELECT username,password FROM utenti WHERE username='" . $user . "'";
    $res1 = mysql_query($dati) or die("Username o password non validi");
    $dati = mysql_fetch_array($res1);

    setcookie("widliteuser", "$dati['username']", time( ) + 60*60*24*7);
    setcookie("widlitepass", "$dati['password']", time( ) + 60*60*24*7);
    //Versione Programma
    $versione = "1.0";
    //Definisce impostazione di pagina
    print "<!DOCTYPE HTML SYSTEM><html><head>
    <script language=\"JavaScript\" type=\"text/javascript\">
    location.href=\"index.php\";
    </SCRIPT>
    <title>Widerlite - wdir admincp
    $versione - Login</title>";
    print
    "<link rel=\"stylesheet\" href=\"conf/style.css\" type=\"text/css\" title=\"Default CSS\"></head>";
    print
    '<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">';
    //Inizia la tabella
    print '<div align="center"><table width="800" border="0" cellpadding="0" cellspacing="0">';
    print
    '<tr><td colspan="5"><img src="images/header.jpg" width="800" height="205" alt=""></td></tr>';
    print
    '<tr><td rowspan="2"><img src="images/sublink.jpg" width="37" height="441" alt=""></td>';
    print
    '<td><img src="images/menbar.jpg" width="186" height="34" alt=""></td>';
    print
    '<td rowspan="2"><img src="images/submen.jpg" width="73" height="441" alt=""></td>';
    print
    '<td rowspan="2" background="images/content1.jpg" width="451" height="441" valign="top">';
    //Content Box
    print '<p align="left"><span class="titoletto">Wdir 1.0 Login effettuato</p></span>';
    print
    '<span class="testo">Cookie creati correttamente per questa sessione di amministrazione. Attendere l\'avvio del programma...</span>';
    print
    '<br><br>';
    //Menu Pagina
    print '</td><td rowspan="2"><img src="images/right-side.jpg" width="53" height="441" alt=""></td></tr>';
    print
    '<tr><td background="images/content.jpg" width="186" height="407">';
    print
    '<center><span class="menu">Login di verifica in corso...</span></center>';
    //termina la tabella
    print '</td></tr>';
    print
    '<tr><td colspan="5"><img src="images/footer.jpg" width="800" height="254" alt=""></td></tr></table></div></body></html>';
    ?>
    Ultima modifica di Hobbit206 : 04-10-2005 alle ore 14.58.31

  10. #10
    Guest

    Predefinito

    Come mi dicono tutti... "Se una cosa non funziona, rinizia da capo!" e come dice il proverbio "Fidarsi di se stessi vuol dire potenziare le proprie capacità" e quell'altro "Chi fa da se, fa per tre".
    Ho rifatto il login da solo, stavolta però con le sessioni...
    Codice PHP:
    //Si connette al database
    include 'conf/inc.php';
    $user = htmlentities($_POST['username']);
    $pass = htmlentities($_POST['password']);
    //Crea sessione di lavoro
    $dati = "SELECT username,password FROM utenti WHERE username='" . $user . "' LIMIT 1";
    $res1 = mysql_query($dati) or die("Username o password errati");
    $dati = mysql_fetch_array($res1);
    $num = mysql_num_rows($res1);

    if ((
    $pass == $dati['password']) && ($num == 1)) // Esiste una password associata all'username?
    {
    ini_set('session.gc_maxlifetime' ,600); //Imposto la validità delle sessioni a 10 minuti
    session_start( );
    $_SESSION['username'] = $user; // Crea sessione username
    $_SESSION['password'] = $pass; // Crea sessuine password

    logok(); //Stampa del sito e reindirizzamento
    } else
    {
    print
    "Impossibile effettuare il login!"; //Errore da login
    }
    Inutile dire che funzia benissimo!... :D

  11. #11
    Guest

    Red face Beeeeeeeeeene!

    Citazione Originalmente inviato da Hobbit206
    Come mi dicono tutti... "Se una cosa non funziona, rinizia da capo!" e come dice il proverbio "Fidarsi di se stessi vuol dire potenziare le proprie capacità" e quell'altro "Chi fa da se, fa per tre".
    Ho rifatto il login da solo, stavolta però con le sessioni...
    Codice PHP:
    //Si connette al database
    include 'conf/inc.php';
    $user = htmlentities($_POST['username']);
    $pass = htmlentities($_POST['password']);
    //Crea sessione di lavoro
    $dati = "SELECT username,password FROM utenti WHERE username='" . $user . "' LIMIT 1";
    $res1 = mysql_query($dati) or die("Username o password errati");
    $dati = mysql_fetch_array($res1);
    $num = mysql_num_rows($res1);

    if ((
    $pass == $dati['password']) && ($num == 1)) // Esiste una password associata all'username?
    {
    ini_set('session.gc_maxlifetime' ,600); //Imposto la validità delle sessioni a 10 minuti
    session_start( );
    $_SESSION['username'] = $user; // Crea sessione username
    $_SESSION['password'] = $pass; // Crea sessuine password

    logok(); //Stampa del sito e reindirizzamento
    } else
    {
    print
    "Impossibile effettuare il login!"; //Errore da login
    }
    Inutile dire che funzia benissimo!... :D
    Credo proprio che sia xfettamente inutile dirti che sei stato un grande!Veramente complimentoni............ma non sempre i proverbi da te scritti (io personalmente,almeno)li condivido:spsso x riusciri in qualcosa è indispensabile il supporto,un consiglio o semplicemente la vicinanza di un amico............non sei d'accordo pure tu,x caso?Se così non fosse tranqua!Ognuno ha le sue idee ed è giustissimo che sia così!Ciauuuuuuuuuuuuuuuu!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •