Zend Framework possède divers mécanismes de sécurisation, parmi ceux-ci l’on trouvent les validateurs. Ces validateurs vérifie que la ou les données à validées sont valide et par là même sécurise celle-ci.
Dans notre cas nous allons nous intéresser aux sessions et plus particulièrement à la validation de celle-ci au moment de sont démarrage, ceci afin de, par exemple, empêcher le diminuer les possibilités de vol de celle-ci. Nous allons créer un validateur d’ip … (oui je sais y a moyen de passer outre, si on derrière un proxy gnagnagna …. mais ici c’est un exemple!).
Rermarque
Nous utiliserons Zend Framework en version 1.9.
De plus, nous allons créer notre librairie qui se nomera « Biblio ». Donc, il faudra penser à créer dasn votre répertoire library le dossier Biblio!
Les sessions
Tout d’abord mettons en place le mécanisme de session. Dans le Bootstrap nous ajoutons la méthode suivante :
protected function _initSession() { Zend_Session::start(); } |
Le validateur
Passons à la création proporement dite, créons le fichier /library/Biblio/Session/Validator/Ip.php, dont le contenu sera
setValidData((isset($_SERVER['REMOTE_ADDR'])? $_SERVER['REMOTE_ADDR'] : null)); } /** * Validate() - this method will determine if the ip matches the * ip we stored when we initialized this variable. * * @return bool */ public function validate() { return ($this->getValidData() === (isset($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR'] : null)); } } # EOF |
Ensuite, il nous faut ajouter ce validateur à la session. Donc, on réédite le Bootstrap et on modifie la méthode _initSession() :
protected function _initSession() { require_once 'Biblio/Session/Validator/Ip.php'; Zend_Session::registerValidator(new Biblio_Session_Validator_Ip()); Zend_Session::start(); } |
conclusion
Encore une fois Zend nous montre sa puissance et sa facilité d’ajout de fonctionnalité. A noter qu’il existe déjà un validateur pour els session qui contrôle l’user agent (Zend_Session_Validator_HttpUserAgent()).
N’hésitez pas a en ajouter!
Similar Posts:
- None Found
c’est ça qu’on veut :p
vais faire joujou avec mon contrôleur livre
🙂
Et c’est ça qu’on utilise ….