Pourquoi la session standard durée de vie de 24 minutes (1440 secondes)?
J'ai fait quelques recherches sur PHP le gestionnaire de Session et est venu à travers la session.gc_maxlifetime
valeur de 1440 secondes.
Je me demandais pourquoi la valeur standard est de 1440 et comment il est calculé?
Ce qui est à la base de ce calcul?
Combien de temps est-il judicieux de garder les sessions? Quelles valeurs min/max pour la session.gc_maxlifetime recommanderiez-vous?
Plus la valeur est élevée, plus la vulnérabilité de la Web-App est pour Détournement de Session, je dirais.
+1
Belle question. Quelque chose lié à, 60 x 12 x 2... Permet d'attendre des réponses intéressantes... 🙂- Voici le code source de la ligne où la valeur par défaut est définie. Ceux qui sont familiers avec GIT peut être en mesure de suivre son histoire et peut-être trouver une RFC ou bug billet (le cas échéant).
- stackoverflow.com/questions/156712/... pourrait aider certains de discussion antérieure faite sur cette
- Cette discussion n'a pas répondu à ma question.
- J'ai trouvé le changement: github.com/php/php-src/commit/... cependant, il ya zéro pertinentes de la documentation associée.
1440
était, en effet, le nombre initial de minutes pour que le délai d'attente, donc je suppose que nous ne le saurez jamais à moins que quelqu'un suit Sascha Schumann. - J'ai trouvé Sascha adresse e-mail et l'a contacté à ce sujet, je vais laisser les gens savoir si il répond.
Vous devez vous connecter pour publier un commentaire.
La vraie réponse est probablement très proche de ceci:
Dos pendant PHP3 jours, PHP n'a pas de prise en charge de session.
Mais un open-source appelé bibliothèque PHPLIB, initialement écrit par Boris Erdmann et Kristian Koehntopp de NetUSE AG, à condition que les sessions via PHP3 code.
Session durées de vie ont été définies dans minutes, pas secondes. Et la durée de vie par défaut a été 1440 minutes, soit exactement un jour. Voici la ligne de code à partir de PHPLIB:
Sascha Schumann a été impliqué avec la PHPLIB projet autour de la période de 1998 à 2000. Il ne fait aucun doute qu'il était familier avec PHP3 code de session.
Puis PHP4 est sorti en l'an 2000, natif de la prise en charge de session, mais maintenant, la durée de vie a été spécifié en secondes.
Je parie que quelqu'un qui ne s'est jamais soucié de la conversion de quelques minutes à quelques secondes. Il est probable que la personne a été Sascha Schumann. Une fois que la valeur a été codé dans le Zend engine, il est devenu la configuration (
php.ini
) par défaut ainsi.1440 est utilisé dans un calcul de temps de tournage secondes en heures/jours.
Exemple:
L'inverse est tout aussi vrai: