webleads-tracker

Durée de session

Zéphyr Seb
Avatar
Bonjour,

sur un site j'ai une rubrique "espace client" limitée en accès pour laquelle je voudrais augmenter la durée de session. J'ai essayé avec la commande ini_set('session.gc_maxlifetime', nombre_de_secondes); mais sans succès.

Es-ce possible ? merci
Sébastien - Zéphyr

Antony
Avatar
Bonjour Sébastien,

As-tu essayé session_cache_expire ?
http://fr2.php.net/session_cache_expire

Bonne journée

Antony
[Medialibs] - Antony - Account Manager

Zéphyr Seb
Avatar
Bonjour Anthony,

merci pour ta réponse mais il est spécifié dans la doc que cette commande doit se placer avant le session_start() pour être prise en compte. Je ne pourrais donc pas le faire.
Sébastien - Zéphyr

Vincent StartUp
Avatar
Bonjour Sebastien,

As-tu trouvé une solution ? Je veux faire exactement la même chose.

Bonne soirée,
Vincent - StartUp Communication

Zéphyr Seb
Avatar
Bonjour Vincent,

non j'ai pas trouvé de solution. Et suite à la réponse d'Anthony j'ai laissé tomber par faute de temps.

Si ton post peut encourager une personne de Médialibs à s'intéresser au sujet ;-) ce serait bien.
Sébastien - Zéphyr

Vincent StartUp
Avatar
Siyouplait Medialibs !
Vincent - StartUp Communication

Antony
Avatar
Bonjour,

En réalisant une requête serveur toutes les 5 minutes, genre appel à une image, la durée de vie de la session est prolongée.

Antony
[Medialibs] - Antony - Account Manager

Vincent StartUp
Avatar
ReSalut,

Je pensais le faire en php mais c'est vrai qu'un simple javascript devrait faire l'affaire.

Merci pour ta réponse.
Vincent - StartUp Communication

Vincent StartUp
Avatar
Bonjour,

Avant de mettre en place ce javascript, je voulais tester la déconnexion mais sur mon pc je ne suis jamais déconnecté du site. Je teste sur un navigateur qui n'est pas connecté au webo donc ce n'est pas lié et je me connecte en tant que client.

Pourquoi ne suis-je jamais déconnecté même après plus d'une heure ? Est-ce lié au fait que je suis reconnu avec l'ip qui est mis dans le webo ?

Bonne journée,
Vincent - StartUp Communication

Zéphyr Seb
Avatar
C'est amusant parce que je suis moi aussi en train de faire des tests et j'ai le même comportement sur mon pc, je ne suis jamais déconnecté de l'espace client.

Par contre j'ai pu testé sur un pc distant (donc hors du réseau interne de l'entreprise) et la je suis bien déconnecté.

Donc oui je pense que c'est lié à notre ip.
Sébastien - Zéphyr

Vincent StartUp
Avatar
Vraiment bizarre, depuis nos réponses, maintenant je me fais bien déconnecté.

Coté Médialibs, est-ce qu'il y a eu quelque chose de fait depuis nos réponse ?
Vincent - StartUp Communication

Vincent StartUp
Avatar
Bonjour,

Anthony, j'ai fait un petit script javascript qui change le chemin d'une image toutes les 5 minutes en ajoutant à la fin ?xxx, xxx étant obtenu via la fonction getTime. Le script fonctionne mais ça ne prolonge pas la durée de la session. Comment dois-je charger l'image pour que ça fonctionne ?

<script type="text/javascript">
<!--

function prolonger_session()
{
	var D = new Date();
	var mon_chemin=document.getElementById("signature").getAttribute('src');
	if(mon_chemin.lastIndexOf("?")!=-1) mon_chemin=mon_chemin.substring(0,mon_chemin.lastIndexOf("?"));
	document.getElementById("signature").setAttribute('src', mon_chemin + '?' + D.getTime());
	//toutes les 5 minutes
	setTimeout("prolonger_session()",300000);
}
setTimeout("prolonger_session()",300000);

-->
</script>
Vincent - StartUp Communication

Vincent StartUp
Avatar
Après plusieurs tests, j'ai fini par faire un appel ajax de la page d'accueil et ça fonctionne bien, ma session est éternelle :). Voici le code :
//permet de recharger une page php afin de prolonger la session
//l'appel se fait en ajax
function prolonger_session()
{
	var xhr = null;
		
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest(); 
		}
	} else {
		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return;
	}

	xhr.open("GET", "/accueil-extranet/", true);
	xhr.send(null);
	
	//toutes les 10 minutes
	setTimeout("prolonger_session()",600000);
}
setTimeout("prolonger_session()",600000);
 


Coté Medialibs, pourriez vous me confirmer que cette méthode est la bonne ?
Vincent - StartUp Communication