IE8 does not use cookies across the domain respectively - only on one machine

I have some interesting problem that completely surpassed me.

I have a production code that I built that reads a piece of the IBM LTPA token file installed by a machine managed by another department, checks it and uses it to log in to the system that my group manages (by setting some special cookies). This process is single The login is completely transparent to the end user and has been working in all browsers for several years.

I recently noticed that it does not work properly on my development machine with IE8. I recently upgraded from Vista to Windows 7. I'm not sure if this did not work on my machine before or after the upgrade, as this is what worked for so long and I have no reason to regularly test it. FireFox 3.5 and Chrome 4 dev on the same machine work as expected. IE6 on XP SP3 virtual machine works fine on this computer. IE8 works fine on multiple machines at home (for both Windows Server 2008 and Windows 7).

For diagnostic purposes, I deleted all cached data from my IE IE IE (WinInet cache) to start from scratch. I launched Fiddler to track this process and determine what is not working. What I found was quite interesting, and I can’t explain it.

After entering the intial site - call ltpa.domain.com, the session cookie is reset from the server, as expected, with the Set-Cookie header. I verify that the domain is correctly set to .domain.com and that the path is /. All subsequent requests from the browser after logging in, push all cookies to the server with each request, as expected. This is actually a portal, and there is some additional content that portal.domain.com says is also retrieved; all cookies are sent to this server correctly.

Now for the interesting bit - when I make a request to myserver.domain.com - the domain-level cookie set by ltpa.domain.com does not push to myserver.domain.com, although they should be. . The single sign-on process is automatically redirected back to ltpa.domain.com if there are no cookies (and clicks the cookie on the client that the ltpa login process uses to redirect) - the cookie domain level set by myserver does not return to ltpa.domain.com .

Again, this only happens in this single instance of IE8 on my dev machine that I know of. This process is used thousands of times a day with a fairly large user base, and we have not received any other complaints from end users, so there is no indication that this is a system problem with IE8 or something like that.

It seems to me that I consider myserver.domain.com and ltpa.domain.com as separate domains, even if it is not.

There are two points of interest that could be mentioned, but can be red herring, as this has always been the case and never caused a problem.

  • DNS is a bit funky here. LTPA.domain.com allows an external IP address. However, myserver.domain.com allows an internal IP address. Performing a reverse lookup on this IP server gives the name of the internal DNS name - say, myserver.internal.domain.com. I assumed that IE8 does some kind of reverse lookup to prevent DNS-based attacks, so I changed my HOSTS file and pointed myserver.domain.com to an external IP for testing. I confirmed in Fiddler that requests go to an external IP address, but it has nothing to do with cookies. They still haven't passed.

  • Previously, myserver.domain.com was located under "Trusted Sites" in the WinInet IE Security Configuration Pages. I deleted it and another site that was there. Call this car, my2.domain.com; this machine coincidentally (or maybe not?) does not transmit the domain cookie set by ltpa.domain.com. In this case, I do not need cookies, but I still tested them to see if this problem affects other machines. The IE status bar displays the ltpa.domain.com, portal.domain.com, and myserver.domain.com objects in the Internet zone. What is strange that my2.domain.com still shows "Trusted sites" in the status bar, although it is not listed in the dialog box? Yes, I rebooted after making the changes.

Other notes.

  • I am aware of other issues with IE and non.com domains indicated by cookie values ​​and other cookie anomalies mentioned here in stackoverflow and elsewhere in Interwebs. None of them apply. I read Eric Law IEInternals article on internal cookies - http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx

  • There are no built-in add-ons in IE. Just Flash, Silverlight, Live ID login assistant and Fiddler2.

  • There are no InPrivate rules for filtering content specific to my domain.

  • Since I'm on a laptop, I tried IE8 from my home network (after rebooting) to eliminate DNS issues. As far as I can tell, I experience the same behavior at home, so funky DNS is not a problem.

  • I plowed all the IE settings several times, thinking that I might have missed the obscure cookie settings. Privacy settings are located on Medium, and there are no sites with special processing.

  • Using dev tools, I made sure that "Always Refresh From Server" is not installed.

  • I don’t think this is all I can tell Microsoft, as I cannot reproduce the problem anywhere else.

So, at this moment I am at a loss. It was not possible to turn on some diagnostic mode in IE8, which I don’t know about, or to have code for debugging it ... I ran out of good ideas.

I think that either I encountered an error, some registry setting or similar was changed, or something became corrupt somewhere.

Any ideas?

+6
internet-explorer cookies internet-explorer-8 setcookie
source share
2 answers

I think I tracked this issue here.

This should be a bug in IE. Well, two if we split hair.

Despite the fact that I deleted myserver.domain.com and my2.domain.com from the list of trusted sites sites in the IE security dialog box quite early, these sites remained in the zone configuration in the registry! I could understand this by doing a search in the registry of the names of my servers and voila, a little detective work was fruitful.

There is a subkey under HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ ZoneMap \ Domains

for domain.com

And in the domain.com domain there were two subsections for two different servers that I deleted from the Trusted Sites list dialog box - as with REG_DWORD for the value * set to 2. This, of course, means that the site is placed in Trusted Sites.

I was able to dig up an old article from "Scripting Guy" discussing this particular key and the available values ​​for changing zones. http://blogs.technet.com/heyscriptingguy/archive/2005/05/02/how-can-i-add-a-site-to-internet-explorer-s-restricted-sites-zone.aspx

Perhaps these settings are outdated in the user interface in some way, but are still considered / used? I do not know, but it is clear that there is a mismatch that is shown in the user interface and what is actually used.

In addition, as mentioned in the previous comment, when you get to the root of myserver.domain.com (which led to 403 from the btw server), the status bar displays “Internet | Protected Mode: Off,” which only added to the confusion because he should have read as "Trusted Sites." Protected Mode: Off "

So the solution turned out either

a - delete the above registers so that everything moves to the Internet zone OR b - add * .domain.com to the list of trusted sites so that everything moves to the Internet zone.

Hope you can write these issues in IE Eric team?

Thanks for pointing in the right direction!

+3
source share

You need to be very careful with the word "domain" as many people use it to mean different things.

http://blogs.msdn.com/ieinternals/archive/2009/09/19/Private-Domain-Names-and-Public-Suffixes-in-Internet-Explorer.aspx

From the description, this sounds very similar to the fact that you got into problem # 3 in the "Troubleshooting cookies" section described in this post: http://blogs.msdn.com/ieinternals/archive/2009/09/11 /Troubleshooting-Stored-Login-Problems-in-IE.aspx

You need to solve the problem with the zone / integrity level in order to solve the problem with the cookie.

+1
source share

All Articles