php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #19450 GET request duplicated (SESSION+PDF+INTERNET EXPLORER)
Submitted: 2002-09-17 06:34 UTC Modified: 2002-09-17 10:37 UTC
From: frederic dot surleau at atosorigin dot com Assigned:
Status: Not a bug Package: Session related
PHP Version: 4.2.3 OS:
Private report: No CVE-ID: None
 [2002-09-17 06:34 UTC] frederic dot surleau at atosorigin dot com
Hi,
<?php
	$a = var_export( $_SERVER, true );

	session_start();
	
	$f = fopen( "toto.txt", "a" );
	fwrite( $f, "=======================\n$a\n" );
	fclose( $f );
	$len = filesize( "fl.pdf" );
	header( "Content-Type: application/pdf" );
	header( "Content-Disposition: inline; filename=fl.pdf" );
	header( "Content-Length: $len" );
	readfile( "fl.pdf" );
?>

When I ask for this page from IE 5.5 -> 6.0 the script is executed 2 times.

The file toto.txt contains : 
=======================
array (
  'DOCUMENT_ROOT' => '/var/www/1/s/u/r/surleau.com/www/',
  'HTTP_ACCEPT' => 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*',
  'HTTP_ACCEPT_ENCODING' => 'gzip, deflate',
  'HTTP_ACCEPT_LANGUAGE' => 'fr,en;q=0.5',
  'HTTP_CONNECTION' => 'close',
  'HTTP_COOKIE' => 'PHPSESSID=12332cb862f0ecb3def4b670727e2f25',
  'HTTP_HOST' => 'www.surleau.com',
  'HTTP_REFERER' => 'http://www.surleau.com/test/',
  'HTTP_USER_AGENT' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
  'HTTP_X_COMING_FROM' => '195.68.44.149',
  'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin',
  'REDIRECT_HOMEDIR' => '/var/www/1/s/u/r/surleau.com/www/',
  'REDIRECT_PHP_INCLUDE_PATH' => '/var/www/1/s/u/r/surleau.com/www/include/:.',
  'REDIRECT_REALNAME' => '/test/fl.php',
  'REDIRECT_REQUEST_URI' => '/test/fl.php',
  'REDIRECT_SCRIPT_NAME' => '/test/fl.php',
  'REDIRECT_SERVER_NAME' => 'www.surleau.com',
  'REDIRECT_SESSIONDIR' => '/var/www/1/s/u/r/surleau.com/www/sessions/',
  'REDIRECT_STATUS' => '200',
  'REDIRECT_UNIQUE_ID' => 'PYcRftQbI3IAAHZwPac',
  'REDIRECT_URL' => '/www.surleau.com/test/fl.php',
  'REMOTE_ADDR' => '195.68.44.149',
  'REMOTE_PORT' => '60203',
  'SCRIPT_FILENAME' => '/var/www/1/s/u/r/surleau.com/www/test/fl.php',
  'SERVER_ADDR' => '212.27.35.114',
  'SERVER_ADMIN' => 'no.valid@email',
  'SERVER_NAME' => 'www.surleau.com',
  'SERVER_PORT' => '80',
  'SERVER_SIGNATURE' => '',
  'SERVER_SOFTWARE' => 'Apache/1.3.20 (Unix) Debian/GNU mod_fastcgi/2.2.12 mod_perl/1.25',
  'UNIQUE_ID' => 'PYcRftQbI3IAAHZwPac',
  'GATEWAY_INTERFACE' => 'CGI/1.1',
  'SERVER_PROTOCOL' => 'HTTP/1.1',
  'REQUEST_METHOD' => 'GET',
  'QUERY_STRING' => '',
  'REQUEST_URI' => '/test/fl.php',
  'SCRIPT_NAME' => '/test/fl.php',
  'PATH_INFO' => '',
  'PATH_TRANSLATED' => '/var/www/1/s/u/r/surleau.com/www/test/fl.php',
  'PHP_SELF' => '/test/fl.php',
  'argv' => 
  array (
  ),
  'argc' => 0,
)
=======================
array (
  'DOCUMENT_ROOT' => '/var/www/1/s/u/r/surleau.com/www/',
  'HTTP_ACCEPT' => '*/*',
  'HTTP_ACCEPT_ENCODING' => 'gzip, deflate',
  'HTTP_CONNECTION' => 'close',
  'HTTP_COOKIE' => 'PHPSESSID=12332cb862f0ecb3def4b670727e2f25',
  'HTTP_HOST' => 'www.surleau.com',
  'HTTP_USER_AGENT' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
  'HTTP_X_COMING_FROM' => '195.68.44.149',
  'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin',
  'REDIRECT_HOMEDIR' => '/var/www/1/s/u/r/surleau.com/www/',
  'REDIRECT_PHP_INCLUDE_PATH' => '/var/www/1/s/u/r/surleau.com/www/include/:.',
  'REDIRECT_REALNAME' => '/test/fl.php',
  'REDIRECT_REQUEST_URI' => '/test/fl.php',
  'REDIRECT_SCRIPT_NAME' => '/test/fl.php',
  'REDIRECT_SERVER_NAME' => 'www.surleau.com',
  'REDIRECT_SESSIONDIR' => '/var/www/1/s/u/r/surleau.com/www/sessions/',
  'REDIRECT_STATUS' => '200',
  'REDIRECT_UNIQUE_ID' => 'PYcRgtQbI1cAAHAyMkM',
  'REDIRECT_URL' => '/www.surleau.com/test/fl.php',
  'REMOTE_ADDR' => '195.68.44.149',
  'REMOTE_PORT' => '60207',
  'SCRIPT_FILENAME' => '/var/www/1/s/u/r/surleau.com/www/test/fl.php',
  'SERVER_ADDR' => '212.27.35.87',
  'SERVER_ADMIN' => 'no.valid@email',
  'SERVER_NAME' => 'www.surleau.com',
  'SERVER_PORT' => '80',
  'SERVER_SIGNATURE' => '',
  'SERVER_SOFTWARE' => 'Apache/1.3.20 (Unix) Debian/GNU mod_fastcgi/2.2.12 mod_perl/1.25',
  'UNIQUE_ID' => 'PYcRgtQbI1cAAHAyMkM',
  'GATEWAY_INTERFACE' => 'CGI/1.1',
  'SERVER_PROTOCOL' => 'HTTP/1.1',
  'REQUEST_METHOD' => 'GET',
  'QUERY_STRING' => '',
  'REQUEST_URI' => '/test/fl.php',
  'SCRIPT_NAME' => '/test/fl.php',
  'PATH_INFO' => '',
  'PATH_TRANSLATED' => '/var/www/1/s/u/r/surleau.com/www/test/fl.php',
  'PHP_SELF' => '/test/fl.php',
  'argv' => 
  array (
  ),
  'argc' => 0,
)

With Mozilla 1.1, it's not the case.

Example with Mozilla :

=======================
array (
  'DOCUMENT_ROOT' => '/var/www/1/s/u/r/surleau.com/www/',
  'HTTP_ACCEPT' => 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1',
  'HTTP_ACCEPT_CHARSET' => 'ISO-8859-1, utf-8;q=0.66, *;q=0.66',
  'HTTP_ACCEPT_ENCODING' => 'gzip, deflate, compress;q=0.9',
  'HTTP_ACCEPT_LANGUAGE' => 'fr, en;q=0.66, en-us;q=0.33',
  'HTTP_CONNECTION' => 'close',
  'HTTP_HOST' => 'www.surleau.com',
  'HTTP_REFERER' => 'http://www.surleau.com/test/',
  'HTTP_USER_AGENT' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.1) Gecko/20020826',
  'HTTP_X_COMING_FROM' => '195.68.44.149',
  'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin',
  'REDIRECT_HOMEDIR' => '/var/www/1/s/u/r/surleau.com/www/',
  'REDIRECT_PHP_INCLUDE_PATH' => '/var/www/1/s/u/r/surleau.com/www/include/:.',
  'REDIRECT_REALNAME' => '/test/fl.php',
  'REDIRECT_REQUEST_URI' => '/test/fl.php',
  'REDIRECT_SCRIPT_NAME' => '/test/fl.php',
  'REDIRECT_SERVER_NAME' => 'www.surleau.com',
  'REDIRECT_SESSIONDIR' => '/var/www/1/s/u/r/surleau.com/www/sessions/',
  'REDIRECT_STATUS' => '200',
  'REDIRECT_UNIQUE_ID' => 'PYcSb9QbI2YAAEU4Ozc',
  'REDIRECT_URL' => '/www.surleau.com/test/fl.php',
  'REMOTE_ADDR' => '195.68.44.149',
  'REMOTE_PORT' => '36958',
  'SCRIPT_FILENAME' => '/var/www/1/s/u/r/surleau.com/www/test/fl.php',
  'SERVER_ADDR' => '212.27.35.102',
  'SERVER_ADMIN' => 'no.valid@email',
  'SERVER_NAME' => 'www.surleau.com',
  'SERVER_PORT' => '80',
  'SERVER_SIGNATURE' => '',
  'SERVER_SOFTWARE' => 'Apache/1.3.20 (Unix) Debian/GNU mod_fastcgi/2.2.12 mod_perl/1.25',
  'UNIQUE_ID' => 'PYcSb9QbI2YAAEU4Ozc',
  'GATEWAY_INTERFACE' => 'CGI/1.1',
  'SERVER_PROTOCOL' => 'HTTP/1.1',
  'REQUEST_METHOD' => 'GET',
  'QUERY_STRING' => '',
  'REQUEST_URI' => '/test/fl.php',
  'SCRIPT_NAME' => '/test/fl.php',
  'PATH_INFO' => '',
  'PATH_TRANSLATED' => '/var/www/1/s/u/r/surleau.com/www/test/fl.php',
  'PHP_SELF' => '/test/fl.php',
  'argv' => 
  array (
  ),
  'argc' => 0,
)

Can you explain me what appened ?

Regards.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-09-17 08:09 UTC] sniper@php.net
It's some IE bug. Not PHP problem in any case.

 [2002-09-17 10:37 UTC] hholzgra@php.net
it is due to IE being to fast in disposing non-cacheable files

the temporary file that the plugin is supposed to open 
doesn't exist anymore when the plugin initializes as
IE has already removed it

you can work around  this by setting the session.cache_limiter
parameter to "private" to allow client side cacheing


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Apr 16 07:01:29 2024 UTC