Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310

    consiglio su login per area riservata

    ho creato un sito per un agenzia immobiliare, completamente gestibile da loro... l'unica cosa che mi manca è creare il login per permettere a chi di dovere di loggarsi e gestire le strutture del sito.

    Quello che chiedo a voi è:

    1) mi conviene crearmi un sistema di login partendo da zero?
    2) mi conviene usare uno script già pronto? (in tal caso, ne avete qualcuno buono da consigliarmi?)
    3) quali sono le cose da fare per rendere sicuro al massimo il login? Dispongo, ovviamente, di MySql...
    4) vorrei creare un sistema a scadenza, cioè che se passano tot minuti dall'ultima operazione, venga richiesto il login.
    5) vorrei proteggere il sistema dalle SQL injection, che mi sembra di capire siano uno dei pericoli più grandi...
    6) vorrei proteggere il login al massimo, evitando passaggi di dati in chiaro e simili..

    Io vorrei protegerre un intera cartella contenente le pagine di gestione, chiamiamola

    /private/pagina1.php
    /private/pagina2.php
    /private/pagina3.php
    ...
    ...

    al login si venga indirizzati alla pagina /private/pagina1.php
    e che da li sia possibile visionare tutte le altre pagine contenute nella cartella..

    qualunque consiglio da gente più esperta verrà accettato con piacere!

    PS: se alcune cose vi sono sembrate ovvie, fate finta di niente.. nessuno nasce imparato!
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  2. #2
    Ciao.
    qui trovi una classetta per darti l'idea qui nello script che usa il db trovi
    la versione migliorata e infine qui è uno script per la gestione degli
    users (andrebbe fatta una versione + stabile)
    infine per rendere il tutto + sicuro dai un occhio qui


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    leggendo sul web qualche pagina, ho trovato le cose che andrebbero fatte per controllare i dati in input

    * Controlli sul tipo di dato
    * Creazione di filtri tramite espressioni regolari
    * Eliminazione di caratteri potenzialmente dannosi
    * Escape di caratteri potenzialmente dannosi

    altre cose?

    Come gestire il fatto della password in scadenza dopo un tot tempo di inutilizzo!?
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  4. #4
    Originariamente inviato da blekm
    Come gestire il fatto della password in scadenza dopo un tot tempo di inutilizzo!?
    se usi le sessioni di php potresti impostare tu sia il tempo di scadenza per inattivita' lato server che vita del cookie lato client. Se usi le sessioni su db dovrai gestire tu la stessa cosa in modo similare.

    per esempio ... lato server:

    Codice PHP:
    <?php

    ini_set
    ('session.gc_maxlifetime''600');  // tempo di inattivita' 10 min

    session_start();
    Ovviamente andra' fatto per tutte le pagine, oppure stabilmente in php.ini, .htaccess ecc....

    Dove viene letto il tempo di 600 sec. nel caso della sessione??? viene letto direttamente nel file di sessione data/ora ultima modifica. Quindi se il tempo dell'ultimo accesso al file di sessione e' superiore ai 10 minuti la sessione non sara' piu' valida e verra' richiesta inizio di altra.

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

  5. #5
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    mi sembra di aver capito che devo usare le sessioni (non so precisamente cosa siano, mi sa che dovrò andare a studiarmele... )

    mi sembra di aver capito che ci sono due metodi:

    1) sessioni lato client + lato server
    2) sessioni con db

    è cosi oppure ho capito male?

    una cosa che non capisco, io mi loggo (mettiamo siano 10minuti di timeout) faccio un operazione e poi per 11 minuti non faccio niente. Chi/cosa controlla che io non ho fatto niente per 10 minuti?

    Non so se mi spiego..
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  6. #6
    una cosa che non capisco, io mi loggo (mettiamo siano 10minuti di timeout) faccio un operazione e poi per 11 minuti non faccio niente. Chi/cosa controlla che io non ho fatto niente per 10 minuti?
    Alla prossima azione (ad esempio che ne so un refresh)
    lo script controllerà la session e la troverà scaduta
    quindi lo script ritornerà al login di partenza.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    Originariamente inviato da piero.mac

    Dove viene letto il tempo di 600 sec. nel caso della sessione??? viene letto direttamente nel file di sessione data/ora ultima modifica. Quindi se il tempo dell'ultimo accesso al file di sessione e' superiore ai 10 minuti la sessione non sara' piu' valida e verra' richiesta inizio di altra.
    nessuno controlla. Semplicemente quando il client richiede la connessione e presenta il suo cookie, php controllera' che il corrispondente file di sessione sia stato utilizzato negli ultimi 10 minuti, se il tempo tra "adesso" e ultima apertura del file supera il timeout di inattivita' impostato richiedera' di aprire una nuova sessione. Ovviamente potra' pure recuperare lo stesso session id, ma il file sara' svuotato del contenuto.

    http://www.php.net/manual/it/ref.session.php

    le impostazioni della sessione sono tutte del tipo PHP_INI_ALL cioe' sono tutte modificabili dallo script php a prescindere dall'impostazione del server. Leggiti anche i commenti a queste variabili nel php.ini alla sezione [session]

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

  8. #8
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da piero.mac
    nessuno controlla. Semplicemente quando il client richiede la connessione e presenta il suo cookie, php controllera' che il corrispondente file di sessione sia stato utilizzato negli ultimi 10 minuti, se il tempo tra "adesso" e ultima apertura del file supera il timeout di inattivita' impostato richiedera' di aprire una nuova sessione. Ovviamente potra' pure recuperare lo stesso session id, ma il file sara' svuotato del contenuto.

    http://www.php.net/manual/it/ref.session.php

    le impostazioni della sessione sono tutte del tipo PHP_INI_ALL cioe' sono tutte modificabili dallo script php a prescindere dall'impostazione del server. Leggiti anche i commenti a queste variabili nel php.ini alla sezione [session]
    quando ho fatto la domanda "chi controlla" due minuti dopo mi sono risposto da solo nella mia mente, ma ho voluto vedere le vostre risposte per avere la certezza di essermi risposto bene...
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  9. #9
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    altra domandina: mi sto documentando sulle sessioni, ne ho compreso il funzionamento (non ancora la pratica realizzazione, ma la logica si).

    Pagina di login -> /private/login.php
    login effettuato con successo -> /private/pagina1.php

    sarà possibile navigare in tutte la pagine della cartella /private/.

    /private/pagina2.php
    /private/pagina3.php

    in ogni pagina dovrò aggiungere un controllo per verificare che l'utente sia loggato, giusto? Però cosa dovrò controllare? Non mi è chiaro questo..
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  10. #10
    Quando un utente risulta verificato ed ammesso alle pagine riservate metti uno piu' valori nell'array di sessione...

    Codice PHP:

    //verifica ok

    session_start();

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

    // eventuali privilegi di questo user es:
    $_SESSION['priv'] = 'author'
    la pagina riservata avra' la verifica dello stato di questo user del tipo:

    Codice PHP:

    session_start
    ();

    if(isset(
    $_SESSION['user']) and $_SESSION['user'] == 'user verificato') {

    fai qualcosa

    } else fanne un'altra 
    controlli i valori di riconoscimento utente che credi opportuno utilizzare. Sempre dopo aver iniziato la sessione con session_start()

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

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.