L'utilisation de sfContext::getInstance() dans un model est deja TRES TRES
MAUVAIS.

Tu peux ajouter un hash sur les champs qui ne doivent pas etre modifie par
l'utilisateur.

hash = md5(field1:val1 + field2:val2 + ... + secret_salt + session_id()).

Qd tu recois la requete ajax tu recalcule le hash et tu le compare avec
celui envoye par l'utilisateur.



2009/11/14 nicolas longuet <[email protected]>

> en fait les id sont cripté avant d'etre passer en base64, se qui permet
> d'utilisé le criptage dans les urls par exemple.
> Une class qui se base sur mcrypt_encrypt() avec une clef génére par
> connexion.
>
> Je viens de comprendre grace à cette page
> http://www.amicalement-web.net/doctrine-quelques-petits-secrets/2009/08/26/
>
> et dans mon model (class: Client extends BaseClient) je passe
>
>     public function getid() {
>         return
> sfContext::getInstance()->getUser()->getAttribute('cript')->Encrypt(
> parent::_get('id') );
>     }
>
> et pour tous mes models, tous mes id de mon appli sont donc encodé, je peux
> utilisé mon ajax tranquille.
> -> l'objet et la génération de la clef de criptage s'execute une seul fois
> dès le signin ok
>     et l'objet est stocké dans la variable
> ...getUser()->getAttribute('cript').
>
>
>
> puis Decript::id($id) dans la ClientTable:
>
>     public function updateNom($id,$value) {
>         $update = $this->createQuery()
>             ->update()
>             ->set('nom', '?', $value)
>             ->andWhere('id = ?', Decript::id($id))
>             ->execute()
>         ;
>     }
>
> c une solution d'après vous qui est bonne?
>
> >
>


-- 
Thomas Rabaix
http://rabaix.net

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à