2009-12-09 7 views
4

J'utilise Django 1.1.1 avec le middleware ssl redirect.Django HTTPS et les sessions HTTP

Les données de sessions (authentification, etc.) créées via HTTPS ne sont pas disponibles dans les parties HTTP du site.

Quelle est la meilleure façon de le rendre disponible sans avoir à faire le site entier HTTPS?

Répondre

4

Ceci est par nature, et non quelque chose que vous pouvez facilement changer.

Les cookies/authentification envoyés via HTTPS ne sont pas envoyés par le navigateur lorsque le même site est visualisé via HTTP. Votre meilleure solution est probablement de rediriger l'utilisateur d'une page HTTPS vers une page HTTP qui définit votre cookie d'authentification. Gardez à l'esprit que ce cookie non authentifié, envoyé en clair sur le réseau, ouvre la porte à vos utilisateurs pour usurper et rejouer les attaques. Cela peut ne pas importer pour votre application.

0

Problème similaire. iiie utilisateur sur #django IRC m'a fait remarquer à ce paramètre:

Réglage cette option pour ".domain.com" m'a permis de partager des sessions entre HTTP/HTTPS, ainsi que dans le domaine et les hôtes/sous-domaines.

Je pourrais imaginer une situation où l'on ne voulait pas les deux mais cela résout mon problème pour le moment.