Hi all,
I had a problem with IE6 and I've found some info that might help anyone with problems in the futer.
IE 6 is where my problem was and after some investigating I've found that it (IE 6) is configured by default to not accept cookies without a compact privacy pollicy.
What does that mean?? Well let me tell you it means that Microsoft by default has hamppered it's whole ASP.Net platform.
All ASP.Net pages/programs/what-have-you rely on at least one cookie. The session ID. So it happens that EI6 will have problems with ASP.Net be default.
Alot of people offer instructing useres to modify their browser settings to fix the issue. But, users don't want to mess with browser settings and such, they want to point, click, and get on with their gettings on.
The best solution would be to add a CPP and while your at it a P3P Policy as well. Go to for the specs and such. There you will find all of the codes you need to make a CPP.
I used a very simple solution and I'll explain try to explain it alittle. This should be enough to get you started.
What I did was append a CPP to the header of the page that was giving me the problem. I use C# and my code looks like this:
<% Response.AppendHeader("P3P" , "policyref="+'"'+" , "+"CP="+'"'+"NOI "+"NID "+"CUR "+"OUR "+"NOR"+'"'); %>
I'm not going to explain it all. (if you really want to know you can look up the codes at the P3P page.) But this adds a P3P header to your page and lets IE6 know your not trying to gather or keep users info with cookies.
Now for the P3P policy.
First you create a w3c in your websites root directory. The red colored words are not to be renamed.
In your new w3c folder you'll place your reference file named p3p.xml. What this file does is point to your policy/policys, and looks sort of like this:
<META xmlns=" <POLICY-REFERENCES>
<EXPIRY max-age="772804"/>
<POLICY-REF about="policy.xml#first">
<INCLUDE>/*</INCLUDE>
</POLICY-REF>
</POLICY-REFERENCES>
</META>
EXPIRY is the expiration date.(I think this is optional)
The policy.xml is the file, which you can call what ever you want. The #first is the name of the policy you are referencing.
INCLUDE is the list of directories and/or files the policy your are refrencing applies to.
There can be multiple INCLUDEs.
Now the policy looks like so:
<POLICIES xmlns=" <POLICY name="first"
discuri=" xml:lang="en">
<ENTITY>
<DATA-GROUP>
<DATA ref="#business.name">Your Business Name</DATA>
<DATA ref="#business.contact-info.postal.street">YB Street Name</DATA>
<DATA ref="#business.contact-info.postal.city">YB City</DATA>
<DATA ref="#business.contact-info.postal.stateprov">YB State(AA)</DATA>
<DATA ref="#business.contact-info.postal.postalcode">YB Zip</DATA>
<DATA ref="#business.contact-info.postal.country">USA</DATA>
<DATA ref="#business.contact-info.online.email">customerservice@yourwebsite.com</DATA>
<DATA ref="#business.contact-info.telecom.telephone.intcode">1</DATA>
<DATA ref="#business.contact-info.telecom.telephone.loccode">YB Area Code</DATA>
<DATA ref="#business.contact-info.telecom.telephone.number">YB Phone #</DATA>
</DATA-GROUP>
</ENTITY>
<ACCESS><all/></ACCESS>
<DISPUTES-GROUP>
<DISPUTES resolution-type="service"
service=" short-description="Please contact our customer service department with
privacy concerns by emailing customerservice@yourwebsite.com">
<REMEDIES><correct/></REMEDIES>
</DISPUTES>
</DISPUTES-GROUP>
<STATEMENT>
<PURPOSE><current/><admin/><develop/><tailoring/><pseudo-analysis/><pseudo-decision/><individual-analysis/><individual-decision/><contact/><historical/><other-purpose/> </PURPOSE>
<RECIPIENT><ours/></RECIPIENT>
<RETENTION><business-practices/><stated-purpose/></RETENTION>
<DATA-GROUP>
<DATA ref="#dynamic.clickstream"/>
<DATA ref="#dynamic.http"/>
<CATEGORIES><physical/><online/><uniqueid/><computer/><navigation/><interactive/><demographic/>
<content/><state/><preference/><other-category/>
</CATEGORIES>
</DATA-GROUP>
</STATEMENT>
</POLICY>
</POLICIES>
discuri is the location of your normal html user readable version of your privacy policy. Basicaly the one you have had.
The buisness details are self explanitory.
ACCESS is the level of access the users have to the data you store about them.
DISPUTES-GROUP & DISPUTES contain info about how you handle privacy disputes.
STATMENT this is the policy itself. Its all mxl based and it generates your policy dynamicaly by the tags you use. (Go to Veiw/Privacy repor on you browser.)
PURPOSEis why you collect the information.
RECIPIENT is who gets the info.
RETENTION is how long you'll keep the info.
DATA is how you collect the data.(I think)
CATAGORIES are the kinda of info you collect.
Thats about it. I beleive they are all customizable but the defauls work fine enough for me right now.
I hope this helps explain and help solve the IE6 P3P bug.
^\A7/^
I had a problem with IE6 and I've found some info that might help anyone with problems in the futer.
IE 6 is where my problem was and after some investigating I've found that it (IE 6) is configured by default to not accept cookies without a compact privacy pollicy.
What does that mean?? Well let me tell you it means that Microsoft by default has hamppered it's whole ASP.Net platform.
All ASP.Net pages/programs/what-have-you rely on at least one cookie. The session ID. So it happens that EI6 will have problems with ASP.Net be default.
Alot of people offer instructing useres to modify their browser settings to fix the issue. But, users don't want to mess with browser settings and such, they want to point, click, and get on with their gettings on.
The best solution would be to add a CPP and while your at it a P3P Policy as well. Go to for the specs and such. There you will find all of the codes you need to make a CPP.
I used a very simple solution and I'll explain try to explain it alittle. This should be enough to get you started.
What I did was append a CPP to the header of the page that was giving me the problem. I use C# and my code looks like this:
<% Response.AppendHeader("P3P" , "policyref="+'"'+" , "+"CP="+'"'+"NOI "+"NID "+"CUR "+"OUR "+"NOR"+'"'); %>
I'm not going to explain it all. (if you really want to know you can look up the codes at the P3P page.) But this adds a P3P header to your page and lets IE6 know your not trying to gather or keep users info with cookies.
Now for the P3P policy.
First you create a w3c in your websites root directory. The red colored words are not to be renamed.
In your new w3c folder you'll place your reference file named p3p.xml. What this file does is point to your policy/policys, and looks sort of like this:
<META xmlns=" <POLICY-REFERENCES>
<EXPIRY max-age="772804"/>
<POLICY-REF about="policy.xml#first">
<INCLUDE>/*</INCLUDE>
</POLICY-REF>
</POLICY-REFERENCES>
</META>
EXPIRY is the expiration date.(I think this is optional)
The policy.xml is the file, which you can call what ever you want. The #first is the name of the policy you are referencing.
INCLUDE is the list of directories and/or files the policy your are refrencing applies to.
There can be multiple INCLUDEs.
Now the policy looks like so:
<POLICIES xmlns=" <POLICY name="first"
discuri=" xml:lang="en">
<ENTITY>
<DATA-GROUP>
<DATA ref="#business.name">Your Business Name</DATA>
<DATA ref="#business.contact-info.postal.street">YB Street Name</DATA>
<DATA ref="#business.contact-info.postal.city">YB City</DATA>
<DATA ref="#business.contact-info.postal.stateprov">YB State(AA)</DATA>
<DATA ref="#business.contact-info.postal.postalcode">YB Zip</DATA>
<DATA ref="#business.contact-info.postal.country">USA</DATA>
<DATA ref="#business.contact-info.online.email">customerservice@yourwebsite.com</DATA>
<DATA ref="#business.contact-info.telecom.telephone.intcode">1</DATA>
<DATA ref="#business.contact-info.telecom.telephone.loccode">YB Area Code</DATA>
<DATA ref="#business.contact-info.telecom.telephone.number">YB Phone #</DATA>
</DATA-GROUP>
</ENTITY>
<ACCESS><all/></ACCESS>
<DISPUTES-GROUP>
<DISPUTES resolution-type="service"
service=" short-description="Please contact our customer service department with
privacy concerns by emailing customerservice@yourwebsite.com">
<REMEDIES><correct/></REMEDIES>
</DISPUTES>
</DISPUTES-GROUP>
<STATEMENT>
<PURPOSE><current/><admin/><develop/><tailoring/><pseudo-analysis/><pseudo-decision/><individual-analysis/><individual-decision/><contact/><historical/><other-purpose/> </PURPOSE>
<RECIPIENT><ours/></RECIPIENT>
<RETENTION><business-practices/><stated-purpose/></RETENTION>
<DATA-GROUP>
<DATA ref="#dynamic.clickstream"/>
<DATA ref="#dynamic.http"/>
<CATEGORIES><physical/><online/><uniqueid/><computer/><navigation/><interactive/><demographic/>
<content/><state/><preference/><other-category/>
</CATEGORIES>
</DATA-GROUP>
</STATEMENT>
</POLICY>
</POLICIES>
discuri is the location of your normal html user readable version of your privacy policy. Basicaly the one you have had.
The buisness details are self explanitory.
ACCESS is the level of access the users have to the data you store about them.
DISPUTES-GROUP & DISPUTES contain info about how you handle privacy disputes.
STATMENT this is the policy itself. Its all mxl based and it generates your policy dynamicaly by the tags you use. (Go to Veiw/Privacy repor on you browser.)
PURPOSEis why you collect the information.
RECIPIENT is who gets the info.
RETENTION is how long you'll keep the info.
DATA is how you collect the data.(I think)
CATAGORIES are the kinda of info you collect.
Thats about it. I beleive they are all customizable but the defauls work fine enough for me right now.
I hope this helps explain and help solve the IE6 P3P bug.
^\A7/^