IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

zend framework et protection CSRF


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut zend framework et protection CSRF
    Bonjour,
    J'aimerais savoir comment vous protégez vos applications utilisant le Zend Framework contre les failles de sécurité de type CSRF, en particulier pour les requêtes GET. Pour les requêtes POST je sais que le ZF permet d'utiliser le Zend_Form_Element_Hash mais pour les requêtes GET j'ignore si il existe un moyen fourni par le ZF.
    Merci.

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2003
    Messages : 253
    Par défaut
    Bonjour,

    Pas de solution "toute prête" à ma connaissance, même si je peux me tromper.

    Je te recommande toutefois d'orienter ta recherche sur l'objet Zend_Controller_Request_Http : tu devrais pouvoir sans trop de mal contrôler les referers et court-circuiter l'affichage soit depuis les contrôleurs et actions "sensibles", soit depuis un Zend_Controller_Plugin si tu veux effectuer un contrôle global pour toute l'application.

    Tu peux aussi paramétrer Zend_Session pour limiter la validité de la session à un certains nombre de "hops", et forcer une ré-identification au delà. Tu peux définir cette valeur pour chaque Zend_Session_Namespace, du coup ça te permet de vraiment limiter l'accès aux seules données sensibles sans allourdir les autres moins critiques.

    Et comme tu le souligne pour les requêtes POST, Zend_Form fournit le Zend_Form_Element_Hash.

    Bon, je suis très loin d'être un expert dans ce domaine, mais j'espère que ça aide un peu.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    Merci de ta réponse. Je vais jeter un oeil à ça dans la doc.
    C'est dommage qu'il n'y a pas de solution standard, surtout pour un problème comme ça...
    Sinon symfony utilise une méthode pas mal quand tu clique sur ton lien un formulaire avec un token est envoyé grâce à du javascript, au final c'est une requête POST et donc pour le ZF je pourrais utiliser Zend_Form_Element_Hash.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    Je te recommande toutefois d'orienter ta recherche sur l'objet Zend_Controller_Request_Http : tu devrais pouvoir sans trop de mal contrôler les referers et court-circuiter l'affichage soit depuis les contrôleurs et actions "sensibles", soit depuis un Zend_Controller_Plugin si tu veux effectuer un contrôle global pour toute l'application.
    Il semblerait que le referer ne soit pas suffisant pour éviter les failles CSRF

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par nicolas2117 Voir le message
    Il semblerait que le referer ne soit pas suffisant pour éviter les failles CSRF
    Oui, surtout quand le navigateur n'envoie pas le referer, de plus que c'est une entete modifiable

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Une bonne pratique serait de n'utiliser les appels GET que pour de la consultation.
    Toute modification devant être effectuée au moyen d'un formulaire, donc une requête POST avec le Zend_Form_Element_Hash.

    Une méthode alternative est d'utiliser un token dans les headers et de l'utiliser de la même manière que le Zend_Form_Element_Hash. Mais rien de tout prêt pour cette technique...

Discussions similaires

  1. Votre avis sur Zend Framework ?
    Par __fabrice dans le forum Zend Framework
    Réponses: 79
    Dernier message: 28/11/2009, 18h09
  2. Zend Framework et URL Rewriting
    Par ToxiZz dans le forum MVC
    Réponses: 1
    Dernier message: 19/04/2006, 11h25
  3. [PHP5] PEAR vs ZEND Framework
    Par wdionysos dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/04/2006, 09h51
  4. Réponses: 3
    Dernier message: 02/04/2006, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo