PHPBuilder - Implementing Cross-Domain Cookies Page 2



RSS Twitter
Articles Html

Implementing Cross-Domain Cookies - Page 2

by: Christopher Kings-Lynne
|
November 29, 2000

Step 1: Setting Up A Prepend Script

Add the following code to a prepend script (or a function that appears at the top of all scripts).

<?php

/* Support cross-domain cookies... */

// If the GET variable has been set, and it differs from the cookie
// variable, then use the get variable (and update the cookie) 
global $HTTP_COOKIE_VARS$HTTP_GET_VARS
if (isset(
$sessionid) && isset($HTTP_GET_VARS['sessionid']) && ($HTTP_COOKIE_VARS['sessionid'] != $HTTP_GET_VARS['sessionid'])) { 
    
SetCookie('sessionid'$HTTP_GET_VARS['sessionid'], 0'/'''); 
    
$HTTP_COOKIE_VARS['sessionid'] = $HTTP_GET_VARS['sessionid']; 
    
$sessionid $HTTP_GET_VARS['sessionid'];


?>
Once this code has been run, a global variable 'sessionid' will be available to the script. It will contain the value of the sessionid from the users cookie, or the value sent along with a GET request.

Step 2: Using Variables For All Cross-Domain Hrefs

Create a global configuration file that contains the base hrefs of the domains you are switching between. For example, if we have domain1.com and domain2.com, set the following:

<?php

$domains
['domain1'] = "http://www.domain1.com/-$sessionid-";
$domains['domain2'] = "http://www.domain2.com/-$sessionid-";

?>
Now, if you do the following in your code...

<?php

echo "Click &lt;a href=\""$domains['domain2'], "/contact/?email=yes\"&gt;here&lt;/a&gt; to contact us.";

?>
...you will produce the following output...
Click <a href="http://www.domain2.com/-66543afe6543asdf6asd-/contact/?email=yes\">here</a> to contact us.
...where the sessionid has been inserted into the URL.
At this point, you are probably thinking "this will try to open a subdirectory on the webserver called dash, sessionid, dash?!?!?". However, the next step will provide the necessary magic to make it all work - mod_rewrite!

« Previous Page
1
|
2
|
3
Next Page »

Comment and Contribute

Your comment has been submitted and is pending approval.

Author:
Christopher Kings-Lynne

Comment:



Comment:

(Maximum characters: 1200). You have characters left.