Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: password e sessioni

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    63

    password e sessioni

    Ragazzi, ho protetto le mie pagine tramite password usando la funzione session e seguendo questa guida: http://www.mrwebmaster.it/tutorial/php/tutorial74.htm
    Il problema è che le pagine, in caso di password sbagliata, ritornano al form di login, ma quelle che contengono il comando exec, tornano al form di login ma eseguono lo stesso il comando.
    Come faccio a fare in modo che non venga eseguito niente?
    Questo è l'esempio della pagina:

    <? include("protezione.php");?>
    <? exec("./on1");
    header("location: index.php");
    ?>

    Ciao e grazie.

  2. #2
    Beh... da come hai scritto lo script mi stupirei se le tue pagine non si comportasserò così!

    <? include("protezione.php");?>

    <?
    exec("./on1");
    header("location: index.php"); ?>
    Programmato in questa maniera, lo script esegue l'exec (peraltro senza mandare alcun output), poi passa all'istruzione successiva, cioè il redirect alla pagina index.php.

    Capisco che secondo te ci sia una anomalia, ma suppongo che prima di procedere devi progettare bene quello che vuoi che il tuo script faccia.

    Un'altra cosa: cosa devi fare eseguire allo script una volta loggato?

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    63
    Grazie della risposta.
    Il comando exec fa eseguire un programmino in c che mi attiva un relè collegato alla porta parallela.
    Comunque la pagina del form iniziale è index.html e non index.php che invece è la pagina iniziale del sito.
    In caso di password errata ritorna correttamente ad index.html e non index.php, ma mi esegue lo stesso il programma in c.
    Ciao.

  4. #4
    Ora ho capito.

    Allora devi mettere un controllo sull'effettiva riuscita dell'autenticazione.

    Codice PHP:
    // effettui il controllo della procedura di login

    if (controllo_che_tu_sai) {
    // autenticazione a buon fine
    // eseguo lo script
          
    exec("./on1");
    // rimando alla pagina prevista
          
    header("location: index.php");
    } else {
    // autenticazione fallita
    // rimando alla form
          
    header("location: index.html");

    Penso però che dovresti chiamare diversamente le due pagine..... non so, ma ho la sensazione che il server potrebbe andare in errore, visto che per lui le pagine index.qualchecosa hanno sempre priorità!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    63
    Sembrerebbe già farlo.
    L'include ad inizio pagina mi include la pagina protezione.php che è la seguente:
    <?
    session_start();
    if ($_SESSION['login'] != "ok") {
    header("Location: index.html");
    }
    ?>

    Quindi se il login è diverso da "ok" ritorna a index.html, altrimenti prosegui con l'esecuzione della pagina.
    Il problema sembra che quando login è diverso da "ok" ritorna si a index.html, ma esegue lo stesso il comando exec.
    Se invece di exec metto p.esempio un echo :"bla,bla...", funziona regolarmente perchè non mi fa vedere bla,bla....
    Sembra essere legato tutto ad exec.
    Ciao e grazie.

  6. #6
    OK, scusa il mio post precedente, ma il codice che avevi scritto mi aveva portato sulla "cattiva strada".

    Posti per cortesia il codice completo della pagina?
    Ad ogni modo, prova a debuggare modificando così:

    Codice PHP:
    <?php
    session_start
    ();
    echo 
    "Valore della variabile di sessione: ".$_SESSION['login']."
    "
    ;
    exit;

    /*
    * commenta tutto il resto
    */
    ?>
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    63
    In qualche modo ho risolto.
    Invece di inserire l'include alla pagina protezione.php nelle pagine che voglio proteggere, ho inserito addirittura tutti i comandi con il ciclo if come avevi detto, ottenendo questa pagina:
    <?
    session_start();
    if ($_SESSION['login'] != "ok") {
    header("Location: index.html");
    } else {
    exec("./on1");
    header("location: home.php");
    }
    ?>

    Seguendo anche il secondo tuo suggerimento ho cambiato index.php in home.php.

    Ciao e grazie mille.

  8. #8
    La sua soddisfazione è il nostro miglior premio!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    63
    Grazie mille della disponibilità e dei suggerimenti.
    Ora mi manca solo la funzione per fare il reload della pagina senza il refresh della stessa.
    Ho sentito che con ajax è possibile.
    Sai per caso qualcosa?
    Ciao e grazie.

  10. #10
    Originariamente inviato da ilario71
    Grazie mille della disponibilità e dei suggerimenti.
    Ora mi manca solo la funzione per fare il reload della pagina senza il refresh della stessa.
    Ho sentito che con ajax è possibile.
    Sai per caso qualcosa?
    Ciao e grazie.
    ajax appunto.. che lavora su javascript, quindi considera che se un browser ha i js disattivati questa non funzionerebbe
    if u think u'r too small to make a difference, try sleeping with a mosquito!!

    Giochi a calcetto? Vuoi prenotare online il tuo campo preferito?

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.