Cross-Site Sesison ID Propagation
| From: | Stefen Lars | Date: | Mon, 08 Jul 2002 15:45:36 +0000 |
| Subject: | Cross-Site Sesison ID Propagation | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-106101@lists.php.net to get a copy of this message | ||
Hello all fellow-hackers
I am working on a project that includes a number of web sites, which are grouped together into one network. Kind of like the OSDN network, of which Slashdot.org, for example, is a member.
I need to implement a cross-site session. Using a technique, similar to the one described at PHPBuilder (http://www.phpbuilder.com/columns/chriskings20001128.php3) I implemented this without too much difficulty.
The links at the top of each site (links to other sites in the network) simply include the session id in the GET request:
<a href="http://www.site.com/?sid=1234567">Site1</a> | <a href="http://www.site2.com/?sid=1234567">Site2</a> | <a href="http://www.site3.com/?sid=1234567">Site3</a> etc
As per article, the session id is passed between the sites with ease and the session from Site 1 can be continued on Site 3 for example.
However, there are a number of cross-site links in the main body of the site (i.e. not in the network link bar at the top of the page) that link various articles from one site to another.
Thus, when a user clicks on one of these cross-site links, s/he cannot continue her/his session, as the session ID is not propagated; the --enable-trans-sid option only works on internal links (a very wise design choice, may I add).
However, in my case, I would like to be able to define a list of external sites that the --enable-trans-sid option works with. (i.e. the sites in the network).
Is this possible?
If not, which method could I use to propagate the session id between the sites in the network?
I know, it would be possible to manually add the session id to each cross-site link, but this is not a great idea, as a number of the links are from web site visitors in user-comments / forum posts they have submitted.
I may be possible to use output buffering to rewrite the cross-site links to include the session id (like the --enable-trans-sid option works, I guess). But, as I am using compression (ob_start("zlib.output_compression");), that may not work. Plus, it seems a very fiddly method to me.
Any suggestions from anyone, on how I may perform the cross-site session propagation?
All the best
/S
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com