A company wishes to set development standards.
A company you must know how to work with.
A company we all hate to love.
A little story, if I may.
I work in a company that supply sports betting solutions for online gaming web sites. About 2 months ago we got a new client with a slightly weird request - The solution should be placed in an existing site's IFrame.
The minute I heard that request I thought to myself that the amount of problems we'll encounter will give us tremendous amount of work. But as always - The client's always right.
Three weeks ago we were almost ready for beta when our QA discovered some small issues regarding user preferences: Odds, Time Zone and Languages are not displayed correctly only on IE 7 and IE 8.
After wishing some bad things to happen to Bill, my next action was to open the HttpWatch tool IE has and locating where the cookies are being set. I saw that whenever the cookies are set as Session Cookie i all work as it should, the problem then lays with cookies that have expiration date.
Since I was responsible for deploying 3 white labels (each project is called white label) this whole process took me about 2 weeks!
So, after writing some angry emails to Microsoft (but not sending them) I started looking for someone's solution to that problem. And that it was when I encountered a very small and cute article talking about P3P or as you might know it: "Platform for Privacy Preferences (P3P) Project".
In short, unless you have some identifier in the page's header - IE wont except you third-party cookie. So you need to set the P3P header in every page you wish the cookie to appear.
I took the time to write the header addition in some languages / platforms:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
HttpContext.Current.Response.AddHeader("p3p","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
response = render_to_response('mytemplate.html')
response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'
response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")
If you want to read more about these boring technical stuff (and I know you do) you can enter Platform for Privacy Preferences (P3P) Project.
CTO at ITweetLive.com
CTO at ITweetLive.com