Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    ma queste sessioni ?! identificazione User e Pw

    Ciao a tutti nonostante ho letto diversa documentazione non ho capito come risolvere il problema

    se da una pagina chiamata login.php dove ci sono solo due campi USER e PASSWORD voglio accedere ad una pagina menu.php da dove poi acccedo alle varie pagine pag1.php, pag2.php etc... come faccio ad evitare che un visitatore bypassi la pagina login.php (che effettua tutti i controlli sul database sull'esitenza dell'utente e della password) e vada direttamente alla pagina menu.php ? voi mi risponderete con le sessioni ma qual'è il codice da inserire sulla pagina login.php e qual'è quello da inserire sulla pagina menu.php ? session_stratt? session_destroy if.............

    grazie a tutti

  2. #2
    Per crearle:

    Codice PHP:
    session_start();
    $id $rs['id'// questa variabile la dichiari cn l'id
    $user $_POST['username']; // qui recuperi l'username dal form
    // Ora registriamo le variabili sopra indicate in 2 sessioni
    session_register("id");
    session_register("user"); 

    Per verificarle:

    Codice PHP:
    session_start();
    if (
    session_is_registered("id") && session_is_registered("user")) {
     echo 
    "Le sessioni sono registrate ed attive";
    } else {
     echo 
    "Le sessiono non sono state registrate";


    Per cancellarle:

    Codice PHP:
    session_start();
    session_unregister("id");
    session_unregister("user");
    session_unset(); 
    ... :master: riconosco l'esistenza di un limite a tutto , ma non l'accetto ...

  3. #3
    Non è vero che alla domanda come evitare che si bypassi la pagina login.php per andare direttamente a menu.php la risposta sia automaticamente le sessioni! Puoi anche usare i cookie, le sessioni du DB o altri modi. Il principio è che devi fare in modo che in menu.php (così come in tutte le altre pagine protette da login) controlli se si è passati da login.php e se il login è riuscito, poi per farlo puoi usare vari modi.

  4. #4
    Grazie Masterix ma...


    la parte qui sotto va messa tutta sulla seconda pagina e non su quella di login ?

    session_start();
    $id = $rs['id'] // questa variabile la dichiari cn l'id

    cos'è l'ID e a che serve??? $rs è una variabile di sistema? è necessaria??

    $user = $_POST['username']; // qui recuperi l'username dal form
    // Ora registriamo le variabili sopra indicate in 2 sessioni
    session_register("id");
    session_register("user");

    session_start();
    if (session_is_registered("id") && session_is_registered("user")) {
    echo "Le sessioni sono registrate ed attive";
    } else {
    echo "Le sessiono non sono state registrate";
    }


    quando faccio l'unset considerato che il visitatore visita diverse pagine all'interno del sito alimentando diverse form? e che succede se non lo faccio?

    session_start();
    session_unregister("id");
    session_unregister("user");
    session_unset();

    grazie mille ma veramente non ho trovato uno straccio di esempio

  5. #5
    L'id è un valore a caso che ho voluto mettere io... tu lì potevi anche metterci:

    $id = "Aiuto fornito dal forum Html.it";
    session_register("id");

    Per quanto riguarda l'unset, tu lo userai solo il momento in cui vuoi eliminare le sessioni (ad esempio, nel caso in cui tu usi questo sistema su un login, con un logout distruggi le sessioni!)
    ... :master: riconosco l'esistenza di un limite a tutto , ma non l'accetto ...

  6. #6
    Originariamente inviato da spoon25
    Non è vero che alla domanda come evitare che si bypassi la pagina login.php per andare direttamente a menu.php la risposta sia automaticamente le sessioni! Puoi anche usare i cookie, le sessioni du DB o altri modi. Il principio è che devi fare in modo che in menu.php (così come in tutte le altre pagine protette da login) controlli se si è passati da login.php e se il login è riuscito, poi per farlo puoi usare vari modi.
    Non credi che visto quello che sta succedendo nel "campo cookies" è meglio utilizzare le sessioni? Una sessione l'utente nn la nota... è trasparente.. un cookie lo nota eccome!
    Metti il caso che si tratti di un newbie che (magari) avvia un ad-ware e nota che nella cartella cookies c'è tutto "l'ambaradan" degli spyware... stai tranquillo che prima di riutilizzare i cookies ci pensa non 1a volta ma 30 volte!
    Poi si aggiunge anche il fattore sicurezza. Le sessioni sono senza ombra di dubbio molto più sicure di un cookies!
    ... :master: riconosco l'esistenza di un limite a tutto , ma non l'accetto ...

  7. #7
    io farei uno script del genere:

    function authenticate() {
    header("Location: login.php");
    exit;
    }

    if (!isset($_SESSION[user])) {
    $link = mysql_pconnect ("host","user","pass") or die("Connessione non riuscita");
    mysql_select_db("my_db") or die ("Database non selezionato");
    $query = "SELECT * FROM Users WHERE Username='$username' AND Password='$password'";
    $result = mysql_query($query) or die("Query $query ".mysql_error());
    if ( mysql_num_rows($result) != 1 ) {
    authenticate();
    }
    else {
    $row = mysql_fetch_array($result);
    session_start();
    session_register("user");
    $_SESSION[user]=$username;
    }
    }

    salvi questo codice con un nome tipo check_auth.php e lo includi in testa a tutte le pagine che vuoi proteggere. quando la pagina viene chiamata questo controlla se in sessione c'è $user. se è settato passa oltre e fa vedere la pagina, altrimenti chiama authenticate() che rimanda alla pagina per fare il login...
    spero di esserti stato utile

  8. #8
    ovviamente il form in login.php deve avere questo script come action... e poi dimenticavo un bel header("Location: dovevuoitu.php"); dopo che la sessione è statta settata

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    25
    io uso le phplib mi facilitano di molto la creazione
    di aree protette
    in pratica ad ogni pagina
    metto queste 4 righe
    <?
    page_open(
    array("sess"=>"sessione_sito","auth"=>"authcrypt_A uth"));
    ?>

    e a fine pagina

    <?
    page_close();
    ?>
    non serve nient'altro
    logicamente devi prima configurare le phplib .
    il logout invece lo scrivi cosi:
    <?
    $auth->logout();

    ciao

  10. #10
    ed anche questo è abbastanza semplice!
    ... :master: riconosco l'esistenza di un limite a tutto , ma non l'accetto ...

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.