ID de Session est en train de changer dans CodeIgniter
Je suis l'aide de la session en fonction de CodeIgniter, et je suis en cours d'exécution de ce code:
$session_id = $this->session->userdata('session_id');
echo "My Session ID is $session_id";
Et il ne cesse de changer à chaque fois que je charge la page. Est-ce à dire que les sessions ne sont pas enregistrées correctement? Est-il possible de déboguer ce et pourquoi? Ou je ne suis pas à l'aide de cette bibliothèque correctement?
Je ne pas faire d'erreurs lorsque j'active le rapport d'erreurs, et je suis en utilisant la capacité de chargement automatique de l'IC à charge de la session de la bibliothèque:
$autoload['libraries'] = array('session');
Tout conseil serait de l'aide merci!
Exemple de Sortie du Code ci-dessus:
Mon ID de Session est 7c92bac53d2654df6e87eb4e4cb25467
.. recharger ..
Mon ID de Session est c6dd14aed2499760f788a1364dcab030
Mise à JOUR: Mon configurations de session à l'intérieur config.php ressembler à ceci:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
J'ai constaté que
session_start();
$_SESSION['myvar']='var';
ne pas stocker quoi que ce soit, quelque chose semble avoir un problème avec le stockage de session sur mon serveur linux.
Ma session enregistrer le chemin d'accès a apache:apache 775 autorisations. Peut-être cela devrait être déplacé à serverfault?
Êtes-vous enregistrer votre session de la DB?
Merci pour la réponse, j'ai mis à jour ma question à la session de configuration, je ne suis pas à l'aide d'un DB
désolé, je ne suis pas familier avec dans-construit fixation de session des mécanismes de prévention
Êtes-vous à l'aide de Natif de Session ou d'une autre alternative session de la bibliothèque? Pour plus d'informations sur la fixation de session, reportez-vous à en.wikipedia.org/wiki/Session_fixation
OriginalL'auteur Doug Molineux | 2011-08-08
Vous devez vous connecter pour publier un commentaire.
Selon CI Session.php, le code est modifié à chaque mise à jour, mais ils restent une référence à l'ancien ID afin qu'ils puissent mettre à jour la ligne droite.
Aussi, d'après la doc: "session_id" est régénéré (par défaut) toutes les cinq minutes".
Est-il une raison pourquoi vous avez besoin d'accéder à "session_id"? Si vous avez besoin d'une sorte de fixe ID, vous devez créer votre propre "my_session_id", de cette façon, il ne change pas entre la requête.
OriginalL'auteur this.lau_
En remplaçant le répertoire système/bibliothèques/session par la version la plus récente (à partir du site web de CI), le problème sera résolu.
Il y a eu plusieurs bugs dans la session bibliothèques de CI et ils sont déjà résolus.
OriginalL'auteur louk
@ce.lau
Vous pourriez mentionner le lien du fichier sera utile pour les débutants.
c'est à dire
CodeIgniter/system/libraries/Session.php
OriginalL'auteur Techappri
Changer session_id est normal dans CI.
Mais j'ai eu un problème. Session valeurs n'ont pas d'économie, pas de persistance seulement dans CI.
J'ai corrigé par la mise à jour de Codeigniter à la dernière version, qui est actuellement
3.1.6.
OriginalL'auteur user345
Un problème possible que vous pouvez avoir, j'ai décrit ici: https://github.com/EllisLab/CodeIgniter/issues/3108
Le truc, c'est stupide, car il peut être. Si vous définissez le nom du cookie avec des points, il va régénérer l'id de session à chaque fois que vous rechargez la page. Et bien sûr, vous ne voulez pas être en mesure de garder tout utilisateur des données spécifiques!
OriginalL'auteur mariotanenbaum
Si vous ne voulez pas de session de mise à jour sur toutes les cinq minutes, faire les modifications suivantes.
aller à la session.php fichier dans le System/libraries/Session.php
et de définir tous les paramètres comme
public $sess_encrypt_cookie;public $sess_use_database;... pour les blancs
Il travaille pour moi
OriginalL'auteur Nilesh Borse