2012-05-09 13 views
5

ho questo problema strano con le mie sessioni di CI. su localhost è funziona bene, ma in linea il registro mostra l'errore:CodeIgniter dati della sessione personalizzato perso, ma non su localhost

The session cookie data did not match what was expected. This could be a possible hacking attempt.

ho rimosso tutti i cookie e svuotato la tabella delle sessioni. Ho anche impostato la lunghezza di user_agent su 255. Anche Basepath è corretto. Quello che si nota quando registro gli id ​​di sessione è il seguente:

Nella pagina di accesso e quando si controlla username/pw l'id è lo stesso, quindi vado nell'area membri dove l'ID è cambiato.

Un altro esempio:
1. vado a zona dei membri, ID di sessione è impostato, non sono loggato, im inviato il login
2. Nella pagina di login, ID di sessione è cambiata, faccio il login
3. Validazione, ID di sessione è invariato, sto convalidati e inviato ai membri zona
4. nella zona dei membri, ID di sessione è cambiata, non sono loggato.

nella pagina di accesso, la mia tabella delle sessioni conta 0 righe, quando effettuo il login la tabella delle sessioni conta 2/3 righe. 1 di essi, ma non quello con l'ID di sessione corrente contiene tutti i dati corretti.

Speriamo che qualcuno mi può aiutare con questo.

+0

Forse questo aiuta: http://stackoverflow.com/questions/9007282/ci-2-0-3-session-heisenbug-session-is-lost-after-some-time-20-minutes -solo-on –

risposta

4

penso CodeIgnitor biblioteca sessione php nativo ha i problemi. Causa i problemi che stai descrivendo perché se i cookie non sono impostati, non verrà impostato. Inoltre non sarà in grado di riconoscere la sessione. Al fine di evitare questo problema è possibile utilizzare Native Session Class

qui ci sono alcuni link per sostenere la mia risposta. Problems with cookies/MAMP/Codeingiter http://myphplibrary.blogspot.in/2012/03/codeigniter-session-issue-fixation.html

+0

Grazie per l'aiuto. Ho letto la stessa cosa da qualche altra parte. Allora dovrò andare alla lezione di nativi. Grazie. – Meddie

+0

siete i benvenuti –

+1

.. e la magia è successo. La classe NS funziona come un fascino! – Meddie

1

Un paio di cose da controllare;

  1. L'ora locale del server rispetto all'ora locale - forse il cookie sta scadendo come è impostato? Per confermare - impostare il $ config [ 'sess_expiration'] il momento di piacere 9999999 e vedere se funziona

  2. Spegnere $ config [ 'encrypt_cookie']

  3. Spegnere $ config [ 'sess_match_ip']

  4. assicurarsi di aver impostato le informazioni del cookie corretto:

    $config['cookie_prefix'] = ""; 
    $config['cookie_domain'] = // YOUR DOMAIN 
    $config['cookie_path']  = // YOUR BASE URI 
    $config['cookie_secure'] = FALSE; 
    
+0

realtà ho avuto tutte le impostazioni (eccetto sess_expiration) già impostato come si descripbed. Tuttavia non ha funzionato. Grazie comunque. – Meddie

Problemi correlati