[thelist] IE6 cookie hell (placing cookie from 3rd party sites)

Simon Perry thelist at si-designs.co.uk
Mon Nov 29 10:16:10 CST 2004


Hi All,

A brief overview:

I need to identify visitors that come to a site from an affiliate. I 
didn't want to add anything to the link URL on the affiliate site so I 
decided to go down the cookie route. I don't want to track them or store 
personal data in the cookie, I simply want to check for the existence of 
an affiliate cookie at time of purchase to be able to credit the 
affiliate. Now I accept that a percentage of users will have 3rd party 
cookie blockers or will regularly delete their cookies. What I wasn't 
expecting was that I would have such a nightmare getting a default 
instillation of IE to accept a cookie in the first place.

What I have tried so far:

Using PHP I have created a simple script to set a cookie with the 
affiliate ID in it and return a gif logo image.

<?php
// send compact privacy policy and policy link
header('P3P: CP="NID DSP NOI COR", 
policyref="http://www.charterflights.co.uk/w3c/p3p.xml"');

//set the cookie
setcookie("cfc_friend","aff_id={$_GET['id']}",mktime(0,0,0,date("m")+1,date("d"),date("Y")),'/','charterflights.co.uk',0);

// open the file in a binary mode
$name = "../images/logo-left.gif";
$fp = fopen($name, 'rb');

// send the right headers
header("Content-Type: image/gif");
header("Content-Length: " . filesize($name));

// dump the picture and stop the script
fpassthru($fp);
exit;

 ?>

I setup a test page [0] under my company domain to test this and it 
seems no matter what I do IE6 will not accept the cookie and displays 
the no entry "eye" sign. I have been reading about P3P and compact 
privacy policies all day but I'm none the wiser as to why this is not 
working. Mozilla and Opera are accepting the cookie each and every time.

Any help, pointers or links to help me sort this would be very much 
appreciated.

TIA

Simon


[0] http://www.charterflights.co.uk/affiliate/aff_img.php


More information about the thelist mailing list