Visualizzazione risultati 1 fino 5 di 5

Discussione: Tutti i metodi di accesso

  1. #1
    Guest

    Predefinito Tutti i metodi di accesso

    Qualcuno può elencarmi i metodi più sicuri per gesrite il log-in degli utenti?

    Conosco già le cookie e qualcosa sulle sessioni.

    Grazie

  2. #2
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Ci sono diversi script su http://php.html.it/ prova a cercare lì qualcosa tipo "login" o "dev login"









    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da test4you Visualizza messaggio
    Qualcuno può elencarmi i metodi più sicuri per gesrite il log-in degli utenti?

    Conosco già le cookie e qualcosa sulle sessioni.

    Grazie
    Principalmente i metodi sono questi, ce ne sarebbero altri ma decisamente meno "sicuri" (nel senso di meno affidabili), come registrare i login su file o su database (in questo caso, è molto più difficile gestire interruzioni "brutali" della sessione utente).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  4. #4
    Guest

    Predefinito

    Potreste aiutarmi a finire la mia pagina di acccesso con il metodo che ritenete più sicuro?

    Codice PHP:
    if((!$username2) || (!$password2)){

    $reqmsg= "<font class=\"error1\">*Richiesto</font>";
    if(
    trim(empty($username))){
    $user_err= $reqmsg;
    }
    if(empty(
    $password)){
    $pass_err= $reqmsg;
    }

    } else {

    /*** Ricerca Nome ***/
    $query = "SELECT username FROM ".$prefix."_users WHERE username = '$username2'";
    $result = mysql_query ($query);
    if (
    mysql_num_rows($result) == 0) {
    $user_err= "<font class=\"error1\">*Username Errato</font>";

    } else {

    /*** Completamento ***/
    $query = "SELECT password, active FROM ".$prefix."_users WHERE username = '$username2'";
    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);

    $password = $row['password'];
    $active = $row['active'];

    if (
    $active == 0)
    {
    $general_err= "<font class=\"error1\">*Questo profilo non risulta attivato</font>";
    }

    if (
    $md5_password != $password)
    {
    $pass_err= "<font class=\"error1\">*Password Errata</font>";
    }

    else {
    $query = "UPDATE ".$prefix."_users SET lastlogin=NOW() WHERE username = '$username2'";
    }

    Grazie per la disponibilità

  5. #5
    Guest

    Predefinito

    A parer mio quello delle sessioni è il migliore. Usarlo in accoppiata con i cookie può dare alcuni vantaggi nei controlli. Ricorda che i cookie sono modificabili dall'utente poichè risiedono sul suo terminale, quindi NON utilizzare solo il metodo dei cookie. ;)

    Scusa ma invece di fare due query, non ti conviene comparare automaticamente username e password? Così sai che se matchano hai un risultato (mysql_num_rows == 1) altrimenti se è 0 i dati sono errati. Io farei così:
    Codice PHP:
    session start();

    if((!
    $username2) || (!$password2)){

    $reqmsg= "<font class=\"error1\">*Richiesto</font>";

    if (
    trim(empty($username)))
    $user_err= $reqmsg;

    if(empty(
    $password))
    $pass_err= $reqmsg;

    } else {

    /*** Ricerca Nome ***/
    $query = "SELECT username FROM ".$prefix."_users
    WHERE( (username = ' .
    $username2 . ') AND (password = ' . md5($password2) . ') );";
    $result = mysql_query($query);
    if (
    mysql_num_rows($result) == 1) {
    // Crea la sessione
    $_SESSION["username"] = $username2;
    $_SESSION["password"] = md5($password2);
    // Aggiorna il campo lastlogin dell'utente
    $query = "UPDATE ".$prefix."_users SET lastlogin = NOW()
    WHERE username = ' .
    $username2 . ');";
    mysql_query($query)
    or die(
    "Impossibile aggiornare il campo lastlogin");
    } else
    $err = "Nome utente o password errati";
    Sia chiaro è un punto di inizio. É un abbozzo con l'uso delle sessioni... provalo, vedi se funziona ed adattalo al tuo script. Ho levato parecchia roba dal tuo perchè a mio giudizio sembravano fronzoli inutili, nel caso reintegra le parti tagliate. Potresti stampare il form direttamente nella pagina login, mettergli come action la variabile $_SERVER['PHP_SELF'] e controllare se gli vengono passati i dati (mediante POST, sarebbe preferibile): in caso negativo, stampa il form e basta, altrimenti esegue le query del caso e verifica se l'utente esiste e può autenticarsi (nel caso, lo fa autenticare ovviamente). In alternativa, la variabile $err viene stampata sotto al form...

    Insomma vedi tu. Utilizzare script già fatti secondo me ti conviene solo se non hai reali conoscenze di programmazione.
    Ultima modifica di mksoftware : 22-10-2009 alle ore 17.58.26

Regole di scrittura

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