2013-08-04 4 views
-1

Quelqu'un peut-il m'expliquer comment la fixation de session fonctionne vraiment? Sur mon serveur localhost I fichier téléchargé avec ce code:Comment faire une session de fixation?

<?php 
session_start(); 
if (!isset($_SESSION['count'])) $_SESSION['count'] = 0; 
else ++$_SESSION['count']; 
echo $_SESSION['count']; 
?> 

Je réglerai mon adresse du navigateur: http://localhost/sessiontest.php?PHPSESSID=1234 Il commencera juste avec 0 writen, après quelques fois appuyé sur la touche de rafraîchissement, il ira à 1,2,3 , 4, ... Dans le livre et sur le sujet Internet que j'ai lu avant, il ya écrit que si j'utilise cette adresse dans le navigateur dans un navigateur différent ou dans un autre PC, il montrera le nombre mz premier navigateur terminé avec. Cependant, quand j'ai tapé cette adresse à un deuxième PC, il était à partir de 0.

Est-il en quelque sorte sécurisé dans la version supérieure d'Apache et PHP ou ai-je totalement mal compris le sujet? Merci pour l'aide!

+0

Vous parlez du livre __Learning PHP, MySQL, JavaScript et CSS__ de Robin Nixon? – jreut

+0

@jreut oui, deuxième édition, mais j'ai trouvé presque le même exemple ici: http://shiflett.org/articles/session-fixation –

Répondre

2

Je pense que vous avez peut-être mal compris. PHP utilise PHPSESSID pour stocker l'ID d'une session. Normalement, cette valeur est stockée dans un cookie, mais elle peut également être stockée dans l'URL si les cookies sont désactivés.

Si vous lisez la valeur de l'URL (ou du cookie) dans un navigateur, vous pouvez utiliser cette valeur dans l'URL d'un autre navigateur pour prendre en charge cette session. C'est parce que PHP ne suit aucune information, mais utilise simplement cet identifiant de session pour identifier une session.

Je suppose que dans votre cas, les cookies sont également activés, donc PHP utilise le cookie stocké plutôt que la valeur de l'URL. Vous pouvez d'abord essayer de supprimer le cookie, désactiver complètement les cookies et utiliser cette URL, ou vous pouvez changer la valeur du cookie.

+0

Merci beaucoup, maintenant je comprends mieux mon sujet! Encore merci –