Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    120

    codeigniter, login e sessioni

    Ciao a tutti
    sto usando codeigniter da una settimana e mi servirebbe una spiegazione riguardo le sessioni..
    faccio un esempio cosi si capisce meglio

    pagina che esegue il login (semplificata)..
    Codice PHP:
    if(login())
    {
         
    $this->load->library('session'); (salva nel db session_idip_addressuser_agentlast_activity)
         
    $this->session->set_userdata('user_id'$this->id); (l'id mi serve per impostare la paginaprotetta in base all'user..)
         
    redirect('paginaprotetta');

    paginaprotetta
    come faccio a capire se l'user è loggato?
    all'inizio pensavo che dovevo controllare la session_id del cookie con quella nel db..
    esempio: $this->db->where('session_id', $this->session->userdata('session_id'))
    però per usare la funzione userdata devo prima caricare la libreria $this->load->library('session') che mi crea una nuova sessione nel db..

    poi ho notato che le session_id nel db cambiano spesso ma non cancellano quelle vecchie, nel manuale c'è scritto: The Session class has built-in garbage collection which clears out expired sessions so you do not need to write your own routine to do it.

    infine mi chiedevo se era sicuro lasciare l'user_id nel cookie della sessione, magari modificando quest'ultimo dal cookie si riusciva a loggare con altri utenti però non ci ho ragionato molto..è solo un ipotesi..prima vorrei capire come funzionano

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    120
    up

  3. #3
    Io ho creato un helper "redux_hepler.php"
    Codice PHP:
    if ( ! function_exists('isLogged'))
    {
        function 
    isLogged()
        {
            
    $CI =& get_instance();
            return 
    $CI->redux_auth->logged_in();
        }    
        

    e posso richiamare la funzione isLogged dai controller,dalle viste e dai modelli.
    probabile che c'è un sistema migliore...


  4. #4

    Re: codeigniter, login e sessioni

    Originariamente inviato da Rank-1
    Ciao a tutti
    sto usando codeigniter da una settimana e mi servirebbe una spiegazione riguardo le sessioni..
    faccio un esempio cosi si capisce meglio

    pagina che esegue il login (semplificata)..
    Codice PHP:
    if(login())
    {
         
    $this->load->library('session'); (salva nel db session_idip_addressuser_agentlast_activity)
         
    $this->session->set_userdata('user_id'$this->id); (l'id mi serve per impostare la paginaprotetta in base all'user..)
         
    redirect('paginaprotetta');

    paginaprotetta
    come faccio a capire se l'user è loggato?
    all'inizio pensavo che dovevo controllare la session_id del cookie con quella nel db..
    esempio: $this->db->where('session_id', $this->session->userdata('session_id'))
    però per usare la funzione userdata devo prima caricare la libreria $this->load->library('session') che mi crea una nuova sessione nel db..

    poi ho notato che le session_id nel db cambiano spesso ma non cancellano quelle vecchie, nel manuale c'è scritto: The Session class has built-in garbage collection which clears out expired sessions so you do not need to write your own routine to do it.

    infine mi chiedevo se era sicuro lasciare l'user_id nel cookie della sessione, magari modificando quest'ultimo dal cookie si riusciva a loggare con altri utenti però non ci ho ragionato molto..è solo un ipotesi..prima vorrei capire come funzionano
    CodeIgniter ti mette a disposizione la libreria session, che è potentissima. Ti baseterebbe leggere BENE la documentazione.

    set_userdata è l'oggetto che assegna la sessione

    userdata() restituisce FALSE se la sessione non è verificata.
    Indi basta un semplice

    Codice PHP:
    if($this->session->userdata('nomesessione') == FALSE) {

    return 
    false;


    Saluti
    Sviluppatore CI

    NettusLab Weblog

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.