Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    27

    PHP sessioni sicurezza autenticazione

    Ciao, ho un dubbio per quanto riguarda un login con sessione

    diciamo che dopo aver verificato che username e password nel db siano corrette, faccio partire la sessione e mi salvo la $_SESSION['Username'] nel seguente modo.

    session_start();
    $_SESSION['Username']=$rslt_query;

    e poi faccio header('location:fileautenticato.php');

    dentro a tutti i file protetti dovrò verificare che la sessione sia aperta , altrimenti lo rimando alla login.php,

    session_start();
    if (!isset($_SESSION['Username']))
    {
    header('location:login.php');
    exit;
    }

    DOMANDA: ma controllare semplicemente isset($_SESSION['Username']) non è insicuro, ossia se un utente avesse già aperto una ($_SESSION['Username']) in una scheda del browser di un altro sito (che opera il login allo stesso modo mio) potrebbe entrare nella parte protetta del mio sito senza autenticarsi?

    O sto dicendo una cavolata?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    27

    Correggo

    Mettiamo il caso che avessi 2 aree riservate separate nel mio sito, e il metodo di login è come ho riportato in precedenza per entrambe le aree riservate, controllando solo se

    codice:
    if (!isset($_SESSION['Username']))
    potenzialmente un utente che ha accesso all'area 1 porebbe entrarmi nell'area 2 ???

    dovrei fare per sicurezza 2 controlli di sessione diversi? tipo..

    codice:
    if (!isset($_SESSION['UsernameArea1']))
    codice:
    if (!isset($_SESSION['UsernameArea2']))

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    27

    ...

    nessuno???

  4. #4
    le sessioni generano dei file temporanei.
    se oltre al session_start() utilizzi il session_save_path, ti crei per ciascuna area riservata una cartella di sessione dove salvare questi files.
    va da se che la prima domanda che hai fatto, e cioè le sessioni di siti esterni, beh si è una cavolata.
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    27
    un esempio? non mi è chiarissima la risposta

  6. #6
    manuale dai un'occhiata qui.

    In sintesi con questa funzione decidi tu dove salvare i file temporanei che vengono generati dalla sessione, ossia il mezzo con cui un utente viene ricordato ed ha accesso all'area riservata.

    Quindi se tu hai ad esempio, sullo stesso hosting, due siti ognuno nella propria cartella, nei file php del sito 1 metterai session_save_path("percorso_cartella_sessioni1"),
    diversamente nei file php del sito 2 metterai la stessa funzione ma ad un percorso diverso, cioè alla cartella dedicata alle sessioni del secondo sito.

    In questo modo quando ti logghi a sito 1, le informazioni vengono salvate nella cartella 1, perciò se andrai nel sito 2, non sarai loggato perché questo cerca le sessioni della cartella 2.
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  7. #7
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    E se poi ci fosse la necessità di concedere allo stesso utente il permesso di navigare entrambi i siti che si fa? Lo si costringe a fare doppio login? E se poi le aree private diventassero 3 o 4 o più? Un login per ogni area con associata cartella dei files di sessione? Sarebbe più pratico implementare un semplice sistema di privilegi ( o di ACL ) in modo da stabilire al momento del login cosa l'utente possa fare o meno e le risorse che può visualizzare o meno...

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.