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

    Sistema Login (Consiglio e Miglioramenti)

    Ciao,
    Utilizzo da qualche tempo questo sistema di login multilivello e mi trovo abbastanza bene.
    Qual'è la vostra opinione? Qualche consiglio o miglioramento?

    Il codice VALIDA.PHP

    Codice PHP:
    <?php

    // Verifica POST e se l'utente o la password sono vuote
    if (!empty($_POST) AND (empty($_POST['utente']) OR empty($_POST['password']))) {
        
    header("Location: ../../index.php"); exit;
    }

    // Connessione al DB
    mysql_connect('localhost''root''password') or trigger_error(mysql_error());
    // Connessione al Banco MySQL
    mysql_select_db('prova') or trigger_error(mysql_error());

    $utente mysql_real_escape_string($_POST['utente']);
    $password mysql_real_escape_string($_POST['password']);

    // Valida
    $sql "SELECT `id`, `nome`, `livello` FROM `utenti` WHERE (`utente` = '"$utente ."') AND (`password` = '"sha1($password) ."') AND (`attivo` = 1) LIMIT 1";
    $query mysql_query($sql);
    if (
    mysql_num_rows($query) != 1) {
        
    // Errore
        
    echo "Login invalido!"; exit;
    } else {
        
    // Salva i dati nella variabile $risultato
        
    $res mysql_fetch_assoc($query);

        
    // Se non esiste la sessione la creo
        
    if (!isset($_SESSION)) session_start();

        
    // Salva i dati nella sessione
        
    $_SESSION['UtenteID'] = $res['id'];
        
    $_SESSION['UtenteNome'] = $res['nome'];
        
    $_SESSION['UtenteLivello'] = $res['livello'];

        
    // Redirect
        
    header("Location: ../../staff/Dashboard.php"); exit;
    }

    ?>

    E questo il codice che va nelle varie pagine:

    Codice PHP:
    <?php

    // É iniziata la sessione
    if (!isset($_SESSION)) session_start();

    $livello_necessario 2;

    // Verifica se non c'è la variabile che identifica l'utente
    if (!isset($_SESSION['UtenteID']) OR ($_SESSION['UtenteNivel'] < $livello_necessario)) {
        
    // Distruggi la sessione
        
    session_destroy();
        
    // Redirect al login
        
    header("Location: index.php"); exit;
    }

    ?>

    <h1>Pagina Ristretta</h1>


    Ciao, <?php echo $_SESSION['UtenteNome']; ?>!</p>

  2. #2
    Sono contento. Nessuno ha avuto da ridire sul mio script di login.

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    E' uno script abb std.

    L'unica cosa che farei e' evitare di includere codice di controllo sessione pagina per pagina. Se devi modificarlo ti spari.

    Il codice di controllo sessione mettilo su un file e nelle varie pagine includi tale file in modo che se fai 1 modifica poi questa si propaga in automatico in ogni file che include tale risorsa.

  4. #4
    Si Virus,
    Avevo già pensato ad utilizzare un "include("../login/sessione.php");

    Grazie tante.

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    perfetto vai così che vai bene

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 © 2025 vBulletin Solutions, Inc. All rights reserved.