2012-05-09 19 views
5

Tengo este extraño problema con mis sesiones de ci. en el servidor local es funciona bien, pero el registro en línea muestra el error:codeigniter datos personalizados de sesión perdidos, pero no en localhost

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

que eliminan todas las cookies y vació la tabla de sesiones. También configuro la longitud del user_agent en 255. Basepath también es correcto. Lo que es aviso cuando registro la identificación de la sesión es la siguiente:

En la página de inicio de sesión y cuando verifico username/pw la identificación es la misma, entonces voy al área de miembros donde la identificación ha cambiado.

Otro ejemplo:
1. Voy al área de miembros, se establece id de sesión, no estoy conectado, im envió a iniciar sesión
2. En la página de inicio de sesión, se cambia id de sesión, me conecto
3. Validación, ID de sesión no se ha modificado, estoy validados y enviados a los miembros del área de
4. el área de miembros, ID de sesión se cambia, no estoy conectado.

en la página de inicio de sesión, mi tabla de sesiones cuenta 0 filas, cuando inicio sesión la tabla de sesiones cuenta 2/3 filas. 1 de ellos, pero no el que tiene el ID de sesión actual contiene todos los datos correctos.

Espero que alguien me pueda ayudar con esto.

+0

Tal vez esto ayuda: http://stackoverflow.com/questions/9007282/ci-2-0-3-session-heisenbug-session-is-lost-after-some-time-20-minutes -only-on –

Respuesta

4

creo biblioteca sesión php nativa Codeignitor tiene los problemas. Causa los problemas que está describiendo porque si las cookies no están configuradas, no se establecerán. Además, no podrá reconocer la sesión. Para evitar este problema, puede usar Native Session Class

Aquí hay algunos enlaces para respaldar mi respuesta. Problems with cookies/MAMP/Codeingiter http://myphplibrary.blogspot.in/2012/03/codeigniter-session-issue-fixation.html

+0

Gracias por la ayuda. He leído lo mismo en otro lado. Tendré que ir a la clase de sesión nativa entonces. Gracias. – Meddie

+0

de nada –

+1

..y la magia ha sucedido. ¡La clase NS funciona como un encanto! – Meddie

1

Un par de cosas para comprobar;

  1. La hora local del servidor frente a la hora local; ¿quizás la cookie expira cuando está configurada? Para confirmar - establecer el $ config [ 'sess_expiration'] tiempo para recibir 9999999 y ver si funciona

  2. Apagar $ config [ 'encrypt_cookie']

  3. Apagar $ config [ 'sess_match_ip']

  4. Asegúrese de que ha establecido la correcta información de las cookies:

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

En realidad tenía todas las configuraciones (excepto sess_expiration) ya configuradas tal como las describió. Sin embargo, no funcionó. Gracias de cualquier manera. – Meddie

Cuestiones relacionadas