I’m working on two web applications: one is the public facing site, and the other is the administration site. So, natch, for the latter I created a local domain called oursite_admin.local. I’m usually partial to .dev, but the team had already started with .local, and I had no serious philosophical issues with that. Contrary to scurrilous rumours, I’m actually a very easy going fellow.
OK, so I’m happily developing away, and everything is working tickety-boo. Then our QA tester started playing with the admin site in IE. Things always go sideways when you bring IE into the picture. Also, QA testers. And users, of course.
So, our very efficient QA tester found a problem in the site when using IE 8, and logged a ticket for it. I get the ticket and try to replicate the issue. Except I can’t get to the page she pointed to. I can’t log in using IE. I can log in with no problems in Firefox (lovely, lovely Firefox), but IE won’t let me in at all.
After a little digging I find the problem is that when using IE the session cookie does not persist. This is vexing, because that’s exactly what a session cookie is meant to do: persist, from one request to the next. In fact, it’s its entire raison d’ĂȘtre. So WTF is going on with IE?!
For the answer I turned to my good friend duckduckgo, which lead me to this blog post. In it Genosha (M/F/?) explains how he had the same issue I did, and goes through his investigative process, proposing and rejecting possible causes, finally arriving at the cause of the issue. For him, it was a difference in time settings between his development and production servers. This is not the problem on my setup.
Luckily for me, a bunch of people commented on the story. In particular, one Ramon de la Fuente added his two cents worth: he found that when using non-standard TLD‘s, IE would reject session cookies of domain names with underscores. Pretty damned obscure, Jude.
The moral of this story is, even if you’re not going to post about your successes yourself, please consider sharing your knowledge in comments on related blog posts, or forums, or Stack Overflow.