Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour, j'essaie en vain d'utiliser une classe du livre "Zend Framework bien developpé en php".
Classe : Zfbook_Controller_Plugins_Session
elle permet de vérifier s'il n'y a pas eu vol de session.
Donc elle marche nickel avec Firefox, google chrome, le seul problème c'est IE .
Donc cette classe fait un md5 avec les variabes HTTP_USER_AGENT et HTTP_ACCEPT du tableau session.
Et j'ai remarque que sur IE le HTTP_ACCEPT change quand je raffraichit une page ou quand je me connecte
dès fois il es comme ça
*/*
et dès fois comme ça
image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Donc quand il compare le clientBrowser de la session et le md5 ci dessus ça ne concorde pas , donc impossible de me connecter sur IE car il pense que j'ai volé une session.
Quelqu'un aurait une idée parce que je cherche des explications sur HTTP_ACCEPT = Contenu de l'en-tête Accept: de la requête courante, s'il y en a une. mais à part ca O_o
Sinon j'aurai aimé comparer seulement le HTTP_USER_AGENT, mais comment changer le clientBrowser dans la session et n'y mettre que le md5 du HTTP_USER_AGENT ?
Et sur le site où il y a l'application sous IE ça foire
http://www.bleekom.org/zfbook/html/
après connexion rafraichir la page vous serez déconnecté
Dernière modification par lassoya (17-05-2010 14:25:27)
Hors ligne
j'ai vu un poste sur les validateurs de session et je voulais demander si mon code est bon parce que ça n'a pas l'air de marcher O_o le Zend_Session::registerValidator(new Zend_Session_Validator_HttpUserAgent());
protected function _initSession() { // Configuration de la session (impérativement avant son démarrage) $configSession = new Zend_Config_Ini(APPLICATION_PATH . '/configs/session.ini', 'dev'); Zend_Session::setOptions($configSession->toArray()); Zend_Session::setOptions(array('save_path' => APPLICATION_PATH . $configSession->save_path)); Zend_Session::registerValidator(new Zend_Session_Validator_HttpUserAgent()); // Partage (et création ou restauration) de l'objet de session dans le registre // Ce premier appel à new Zend_Session_Namespace démarre la session PHP Zend_Registry::set('session', $session = new Zend_Session_Namespace($configSession->name)); return $session; }
Hors ligne
bon je fais un monologue
fallait mettre Zend_Session::registerValidator(new Zend_Session_Validator_HttpUserAgent());
après la création de la session
Hors ligne