2010-11-11 2 views
0

Mise en place:Zend Framework, Routes SSL, Fancybox et XSS Questions

  • J'utilise Zend Framework
  • je utiliser un plugin de contrôleur qui vérifie les routes contre mes paramètres d'application et redirige vers https si nécessaire ou standard http sinon. J'ai basé mon plugin de contrôleur sur this blog entry.
  • Mes formes "pop-up" à l'aide Fancybox

Questions:

Si je suis sur une page non-ssl quand je lance la connexion, la forme vient correctement et la connexion exécute processus, mais le JavaScript qui appelle le parent pour fermer l'instance Fancybox ne peut pas le faire parce que les domaines sont maintenant différents - https vs http

Le formulaire de connexion et d'autres peuvent également être appelés à partir de pages dans les deux contextes, donc je Je ne sais pas comment résoudre ce problème.

Le JavaScript qui ferme l'instance Fancybox:

if (window.self !== window.top) { 
    // is nested 
    parent.$.fancybox.close(); 
} 

Répondre

0

Je l'ai résolu, voici comment:

  1. Ajout d'une nouvelle règle SSL Route qui est allow_ssl et a ajouté le support pour dans mon plugin de contrôleur. Les routes allow_ssl ne basculent pas entre HTTP et HTTPS. Cela corrige les pop-ups qui peuvent être appelées à partir d'une page sécurisée, où cela n'a pas d'importance si elles sont sécurisées ou non.
  2. Ajout d'une vérification dans mon processus de connexion qui vérifie la demande d'ouverture de session et définit un indicateur is_ssl dans un espace de noms de session 'Demande'. Une fois la connexion réussie, je vérifie le drapeau et redirige vers l'action close-popup via HTTP ou HTTPS. Les actions close-popup est celle qui a le drapeau allow_ssl.