Re: PHPSESSID appended to URL on initial page load

From: Date: Tue, 27 Aug 2002 16:18:04 +0000
Subject: Re: PHPSESSID appended to URL on initial page load
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-114267@lists.php.net to get a copy of this message
Actually, over the weekend, I started using sessions in my scripts. All I did was start it using session_start(); I only noticed this behaviour using Opera 6.02 Linux browser running under FBSD 4.6-Stable. (It may have happened in mozilla 1.0 r3, but I may have not paid attention to it). I load the page the first time and the PHPSESSID is appended to the url. All links on the pages has the same appended SID. Then a reload clears it away. I thought it was something in my code since Im not too familiar on session usage. Im running php 4.2.2 on FBSD 4.6.2-Release. Thx Monte Ohrt wrote:
Hi, I have a few questions with php sessions, below is an example script: test_sess.php ------------- <?php session_cache_limiter(""); session_start(); ?> <A HREF="/local/path.php">local path</A> When I initially load the file (session cookie gets set), the HREF link gets the PHPSESSID appended to it. If I reload the page (cookie already set) the appendage goes away. According to the PHP manual, the PHPSESSID gets appended to the URL only in the case the session cookie is not accepted by the browser. I would guess that on the first page load the server has no way of knowing if the browser accepted the cookie. So maybe this is intentional? I'm trying to figure out how to avoid PHPSESSID in the URLs entirely unless the browser does not accept cookies. I suppose I could disable URL rewriting altogether and rely soley on cookies. How do I disable PHP session URL rewriting? I don't see a setting in php.ini for it. PHP 4.2.2, Solaris Sparc TIA Monte php.ini ------- [Session] ; Handler used to store/retrieve data. session.save_handler = files ; Argument passed to save_handler. In the case of files, this is the path ; where data files are stored. Note: Windows users have to change this ; variable in order to use PHP's session functions. session.save_path = /export/tmp ; Whether to use cookies. session.use_cookies = 1 ; Name of the session (used as cookie name). session.name = PHPSESSID ; Initialize session on request startup. session.auto_start = 0 ; Lifetime in seconds of cookie or, if 0, until browser is restarted. session.cookie_lifetime = 0 ; The path for which the cookie is valid. session.cookie_path = / ; The domain for which the cookie is valid. session.cookie_domain = ; Handler used to serialize data. php is the standard serializer of PHP. session.serialize_handler = php ; Percentual probability that the 'garbage collection' process is started ; on every session initialization. session.gc_probability = 1 ; After this number of seconds, stored data will be seen as 'garbage' and ; cleaned up by the garbage collection process. session.gc_maxlifetime = 1440 ; Check HTTP Referer to invalidate externally stored URLs containing ids. session.referer_check = ; How many bytes to read from the file. ;session.entropy_length = 0 session.entropy_length = 32 ; Specified here to create the session id. ;session.entropy_file = session.entropy_file = /dev/urandom ; Set to {nocache,private,public} to determine HTTP caching aspects. session.cache_limiter = nocache ; Document expires after n minutes. session.cache_expire = 180 ; use transient sid support if enabled by compiling with --enable-trans-sid. session.use_trans_sid = 1 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
-- Gerard Samuel http://www.trini0.org:81/ http://dev.trini0.org:81/

« previous php.general (#114267) next »