2010-02-01 13 views
2

Dans mon login Django, je réécris toujours une URL d'utilisateur connecté pour y avoir son nom d'utilisateur. Donc, si le nom d'utilisateur est "joe", je réécris l'url comme étant "joe.example.com". Cela fonctionne très bien sauf sur IE8 pour les noms d'utilisateur avec des underscores comme "joe_schmoe". IE8 ne connectera pas les utilisateurs lorsque l'URL est comme: "joe_schmoe.example.com". Dans mon fichier de paramètres, j'ai sous-domaines génériques pour example.com activé.Les cookies de connexion Django pour les sous-domaines avec des underscores cassés dans IE8?

Est-ce un bug dans IE8 ou django? Comment puis-je contourner le problème en supprimant tous les caractères de soulignement des noms d'utilisateur?

Répondre

1

Je sais que LiveJournal toujours réécrire ces noms d'utilisateurs en utilisant tiret, donc "joe-schmoe". Je pense qu'ils le font exprès :)

4

C'est un problème d'IE. IBM Lotus Sametime a a support page about this:

erreur "Les cookies ne sont pas activés" dans Internet Explorer si soulignement dans le nom d'hôte

Ce message d'erreur est affiché lorsque vous utilisez Internet Explorer 5.5 et 6.0 ou version ultérieure avec Microsoft Patch MS01-055 (ou un Service Pack qui inclut également ce correctif). Lorsqu'Internet Explorer est mis à jour, il devient alors compatible avec RFC (Request for Comments) 952, qui définit et restreint les conventions de dénomination d'hôte et de domaine. Cette conformité est d'éviter certaines failles de sécurité avec les cookies de session [...]

Vous pouvez en lire plus (y compris la référence à la base de connaissances Microsoft article et RFC 952) sur la page de support mentionnée ci-dessus.

0

Je suppose que la même chose est vraie si le nom d'hôte a quatre parties au lieu de trois - nous n'avons aucun problème avec sitename.ourdomain.net, mais IE8 pour un client refuse les cookies provenant de test.sitename.ourdomain.net. Mais je ne peux pas encore le reproduire sur d'autres IE.