sessioni sicure?

Discussione in 'PHP' iniziata da akp, 22 Ottobre 2015.

  1. akp

    akp Utente Attivo

    Registrato:
    8 Giugno 2015
    Messaggi:
    133
    Mi Piace Ricevuti:
    0
    Punteggio:
    16
    buonasera, nel sito che sto sviluppando utilizzo le sessioni in questo modo :
    pagina login :
    PHP:
    //dopo aver inserito i dati email e password creo la sessione per l'utente

    $row mysqli_fetch_array($result,MYSQL_ASSOC);
    $nome $row['nome'];
    $email $row['email'];
    $_SESSION['nome'] = $nome;
    $_SESSION['email'] = $email;

    e nelle pagine in cui è obbligatorio essere loggati scrivo(in testa alla pagina) :
    PHP:
    session_start();
     
    $nome=$_SESSION['nome'];
     
    $email=$_SESSION['email'];
    if(!
    $nome)navbar();
      else 
    navbarlog();

    secondo voi utilazzarle in questo modo è corretto e sicuro?
    potrei aumentare la sicurezza in qualche altra maniera?
     
  2. LuigiDonato

    LuigiDonato Utente Attivo

    Registrato:
    20 Agosto 2015
    Messaggi:
    63
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Mi ritrovo bel tuo stesso dilemma..
    Sicuramente è cosa sana non passare la sessionID nell'url, per il resto, mi metto anche io in cosa per la risposta di qualcuno con più esperienza :)
    Consideralo un up :)

    Inviato dal mio Blade S6 utilizzando Tapatalk
     
  3. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.573
    Mi Piace Ricevuti:
    128
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    il tema è molto ampio, difficile trattarlo in una discussione, vi posto due link, assolutamente non esaustivi
    ma dal primo si possono ottenere buone indicazioni
    http://www.mitre.org/publications/p...ting-the-25-most-dangerous-programming-errors

    dal secondo un po' di pratica
    http://forum.mrwebmaster.it/php/40195-gestire-password-utenti-registrati-quale-codifica.html

    ho approfondito abbastanza l'argomento, ed ho cercato con la maggior semplicità possibile, di attivare i suggerimenti nel codice sviluppato

    mi sono accorto anche della necessità di "criticare" il proprio codice perché spesso si danno per scontate situazioni non proprio sicure
     
  4. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    16.035
    Mi Piace Ricevuti:
    146
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    ciao
    è uno dei metodi più usati, anche se la sicurezza assoluta non esiste e generalmente va bene per livelli di sicurezza usuali
    comunque una cosa dovresti creare le sessioni solo se il log è ok
    PHP:
    <?php
    session_start
    ();
    $nome="";//nome non trovato
    $_SESSION['nome']=$nome;
    if(isset(
    $_SESSION['nome'])){
        echo 
    "la sessione esiste";
    }else{
        echo 
    "la sessione non esiste";
    }
    //output 'la sessione esiste'
    ?>
    quindi per prima cosa (se non l'hai fatto)
    PHP:
    <?php
    if(mysqli_num_rows($result)==1)){
        
    //crei le sessioni solo se log ok
        
    $row mysqli_fetch_array($result,MYSQL_ASSOC);
        
    $nome $row['nome'];
        
    $email $row['email'];
        
    $_SESSION['nome'] = $nome;
        
    $_SESSION['email'] = $email;
        
    // e mandi alla pagina riservata
    }else{
        
    //log ko
        //per sicurezza, se vuoi distruggi, le eventuali sessioni esistenti
        
    $_SESSION=array();
        
    header('location=dove_vuoi.php');
        exit();
    }
    ?>
    poi nella riservata
    PHP:
    <?php
    session_start
    ();
    if(!isset(
    $_SESSION['nome']) || !isset($_SESSION['email'])){
        
    //le sessioni non esitono
        
    header('location=dove_vuoi.php');
        exit();
    }else{
        echo 
    "ciao ".$_SESSION['nome'];
        
    //e tutto il resto
    }
    ?>
     
  5. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.573
    Mi Piace Ricevuti:
    128
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    scusate il QT, Borgo, con il suo esempio, conferma
     
  6. akp

    akp Utente Attivo

    Registrato:
    8 Giugno 2015
    Messaggi:
    133
    Mi Piace Ricevuti:
    0
    Punteggio:
    16
    grazie a tutti per le risposte.
    Io ovviamente creo la sessione solo se il login va a buon fine.
    In ogni pagina faccio un controllo se l'utente è loggato o meno perchè in base a ciò abbilito o disabilito funzionalità.
    ho un informazione da chiederti, se volessi aggiungere come metodo di registrazione i social network dovrei sostituire le sessioni con i cookie?
     
Sto caricando...
Discussioni simili - sessioni sicure
  1. Malware
    Risposte:
    25
    Visite:
    2.316
  2. AC1
    Risposte:
    16
    Visite:
    369
  3. smartwork
    Risposte:
    3
    Visite:
    282
  4. Bluelight
    Risposte:
    3
    Visite:
    627
  5. alexanderale
    Risposte:
    3
    Visite:
    354

Condividi questa Pagina