Visualizzazione risultati 1 fino 6 di 6

Discussione: Memorizzare dato da form e mantenerlo

  1. #1
    Guest

    Predefinito Memorizzare dato da form e mantenerlo

    Buon inizio settimana,
    sto realizzando un semplice script per loggarsi in una determinata area del sito e, visto che è molto semplice funziona. Solo che esiste un "ma..".
    Ovvero:
    - se io per esempio scrivo www.nomesito.ext/admin/ mi si mostra la pagina dove effettuare il login e tutto funziona bene;
    - se io scrivo www.nomesito.ext/admin/pagina2.php lui logicamente me la mostra senza nessun login;

    La mia domanda è questa, siccome non ho mai utilizzato i cookie (non saprei da dove iniziare, ma se è l'unica soluzione cercherò di capirli) esiste qualche altro modo per evitare questo problema? (logicamente non è carino mostrare all'utente un login per ogni pagina protetta)

    Grazie!

  2. #2
    Guest

    Predefinito

    Non è molto sicuro, ma ad esempio puoi mettere questa riga nella pagina di login, una volta accertato che i dati sono corretti: $autorizzato="si"; poi nelle varie pagine protette metti if(@$autorizzato=="si"){ codice pagina }else{echo"Non sei autorizzato a entrare";}

  3. #3
    Ospite Guest

    Predefinito

    Devi usare le sessioni.
    Qui trovi alcune guide e nella prima viene spiegato in particolare il tuo caso:
    http://www.mrwebmaster.it/fareweb/ph.../lezione88.htm
    http://freephp.html.it/guide/lezione.asp?id=196

  4. #4
    Guest

    Predefinito

    La vedo, giustamente visto che si parla di sicurezza, complicata la questione.
    Ora mi leggo le due guide.
    Grazie!

    Se avete altre idee, magari meno sicure ma più semplici...

  5. #5
    Guest

    Predefinito

    Altrimenti usi i cookie:

    La pagina login invia le variabili username e password a questa pagina:

    Codice PHP:
    <?
    setcookie
    ("nomecookie","$username<>$password<>uncodiceacaso",time()+3600);
    header("Location: pagina2.php");
    ?>
    e gli dice: imposta un cookie, scrivi username, password e un codice (che sai solo tu) separati da "<>" e infine fai che scada tra un ora (3600 secondi). Poi reindirizza a pagina2.php

    Questo il codice di pagina2.php, ma va bene per qualsiasi altra pagina che tu voglia proteggere:

    Codice PHP:
    <?
    if(!$_COOKIE['nomecookie']){
    echo
    "Non sei autorizzato";
    exit;
    }
    list(
    $username,$password,$numero)=explode("<>",$_COOKIE['nomecookie']);
    if(
    $username=="ADMIN" && $password=="123456" && $numero=="uncodiceacaso"){
    [
    PAGINA PROTETTA]
    }else{
    echo
    "Non sei autorizzato!";
    exit;
    ?>
    Allora. Prima controlla se esiste il cookie. Poi dividi il contenuto del cookie in 3 variabili separate da "<>" e infine controlla se le 3 variabili sono quelle dell'admin.
    In questo modo non controlla solo la password, ma anche il nome utente e un codice (casuale) prestabilito.

    Per disconnettersi basta usare questo:

    Codice PHP:
    <?
    setcookie
    ("nomecookie");
    ?>
    Ciao!
    Ultima modifica di allo : 31-10-2005 alle ore 13.06.16

  6. #6
    Guest

    Predefinito

    in giornata mi dedico a questo problema.
    Grazie a tutti & scusate il ritardo con cui ho risposto.

Regole di scrittura

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