Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267

    autenticazione for dummies

    lo so che sono presenti varie pillole a riguardo ma le ho lette le ho provate,ma ottengo sempre risultati poco chiari.

    inanzitutto io ho 3 pagine:

    /index.php
    /privato/controlpanel.php
    /privato/areaclienti.php

    vorrei fare in modo che la navigazione nelle pagine di / sia libera e senza autenticazione,mentre in

    /privato/controlpanel.php
    /privato/areaclienti.php

    si debba autenticarsi.
    (in pratica tutto quello sotto /private/ deve essere sicuro.
    queste 2 pagine sopra sono messe con un include in index.php.

    ho provato a fare con una normale verifica User/password ma finisce che quando punto alla pagina nella barra degli indirizzi si leggono i parametri di autenticazione che dovrebbero risultare segreti.
    inoltre vorrei che se cambio pagina da controlpanel a areaclienti o viceversa non sia più necessaria l'autenticazione.

    ho pensato ai cookies ma non ci ho capito molto,dato che ho tro
    vato pillole di uno o dell'altro argomento ma mai una che unisca il tutto.

    pls datemi una mano!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    up...

  3. #3
    Metti giu' i tuoi tentativi ... qualcuno una dritta te la dara'.. almeno per avere l'idea di come ti muovi.

    Usa le sessioni, POST invece del GET, dove tieni i dati da comparare?


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    allora ho

    index.php

    <?php

    if ($auth!="true"){
    //(qui c 'e include la maschera di autenticazione che punta con
    //header a autenticate.php.se la pasw è giusta manda a sua volta a
    //index.php?auth="true")
    }else{
    //se invece c'e la'utorizzazione....
    include ("/privato/controlpanel.php?user=$username&password=$password ");
    }
    ?>
    semplice...pero' basta sapere che esiste la pagina /private/controlpanel.php e la gente entra. inoltre vorrei che ,siccome l'accont contiene dati privati,che ci sia il contollo sulla sesisone a tempo..tipo che ogni 10 minuti bisogna riloggare.

    questo è tutto
    anticipatamente grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    nessuno mi sa dare una mano?

  6. #6
    [supersaibal]Originariamente inviato da diedboy
    nessuno mi sa dare una mano? [/supersaibal]
    http://forum.html.it/forum/search.ph...by=&sortorder=

    qui trovi tante mani gia' date...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    Piero,
    si hai ragione,scusa.ho letto molti altri articoli prima di questo,ma il problema era che non capivo che se davo al cookie il nome ciao poi quando richiamavo la variabile $ciao ottenevo il valore...
    quando si dice dummies

    ora ho finalmente capito!
    già che sono qui,domanda conseguente:

    dato che poi l'utente viaggia nelle sue pagine personali,il cookie prima o poi espira,quindi l'utente si trova "sbattuto fuori"
    in questo caso devo fare un setcookie in ogni pagina che visito?
    questo più che un problema tecnico è legato alla mia inesperienza...

    voi direte "fallo vivere 5-6 ore" ma il problema è che vorrei fare in modo che dopo la chiusura della pagina dopo 5 minuti circa il cookie espira sul server,in modo che nessuno può usare il terminale acceso per entrare

    aspetto consigli

    grazie ancora

  8. #8
    Prima pagina:

    apri una sessione.

    session_start();
    fai compilare un form e identifichi l'utente.

    se l'utente e' valido trasferisci i dati che ti paiono necessari in una variabile di sessione

    $_SESSION['user'] = 'pippo';

    altrimenti:

    $_SESSION['user'] = FALSE;



    pagine successive (tutte)

    session_start();

    questo comando legge il cookie di sessione "automaticamete" inviato prima, e recupera la sessione e con essa la variabile $_SESSION.

    ora tu verifichi la variabile:

    if(isset[$_SESSION['user']) AND $_SESSION['user'] = 'pippo') {
    echo "benvenuto pippo";
    } else {
    header("locationagina_login.php");
    exit; }

    Ti serve null'altro. Questo e' tutto quello che basicamente serve per la verifica ed impedire ingressi direttamente da URL. Poi ovviamente potrai sofisticare o meno i tuoi controlli con altri parametri...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    [supersaibal]Originariamente inviato da diedboy
    voi direte "fallo vivere 5-6 ore" ma il problema è che vorrei fare in modo che dopo la chiusura della pagina dopo 5 minuti circa il cookie espira sul server,in modo che nessuno può usare il terminale acceso per entrare

    aspetto consigli

    grazie ancora [/supersaibal]
    http://www.php.net/manual/it/ref.session.php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    267
    tutto chiaro. grazie

    un dubbio mi è venuto dal tuo script.
    in particolare su:
    if(isset[$_SESSION['user']) AND $_SESSION['user'] = 'pippo') {
    echo "benvenuto pippo";
    }
    che significato ha controllare se l'utente è "pippo"?
    è una specie di controllo incrociato?
    se faccio solo

    if(isset[$_SESSION['user']) {
    echo "benvenuto $_SESSION['user']";
    }
    va bene comunque per più utenti contemporaneamente o devo introdurre un controllo da db?

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.