Bug #14232 Updated: Crash of session_start() when client disables cookies and sends a form
| From: | adnev at podvodnik dot cz | Date: | Tue, 11 Dec 2001 22:13:41 +0000 |
| Subject: | Bug #14232 Updated: Crash of session_start() when client disables cookies and sends a form | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-73166@lists.php.net to get a copy of this message | ||
ID: 14232
User updated by: adnev@podvodnik.cz
Reported By: adnev@podvodnik.cz
Old Status: Feedback
Status: Open
Bug Type: Reproducible crash
Operating System: Win2000;Win98
PHP Version: 4.0.6
New Comment:
I don't use the zlib library (zlib is not loaded at all). I don't use ob_end_finish()
neither ob_end_flush(). I am not able to test 4.1.ORC5 if there is no win2000 binary included in the
package.
Anyway I have no special libraries loaded and an almost basic configuration:
...
output_buffering = Off
implicit_flush = Off
allow_call_time_pass_reference = On
...
variables_order = "EGPCS"
register_globals = On
register_argc_argv = On
post_max_size = 8M
gpc_order = "GPC"
magic_quotes_gpc = On
magic_quotes_runtime = Off
magic_quotes_sybase = Off
...
session.save_handler = files
session.save_path = /tmp
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 10
session.gc_maxlifetime = 1440
session.referer_check =
session.entropy_length = 0
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 1
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=nothing"
...
So if I sum up the problem: I've tested only:
- the cgi exe on win98 and win2000
- the module version on win2000
If session.use_trans_sid=1 and output_buffering=On then submiting forms (POST and GET methods) make
the php.exe crash.
I've tested to swap several settings with NO effect e.g.:
- the EGPCS order
- session autostart
- ...
Previous Comments:
------------------------------------------------------------------------
[2001-12-06 21:21:04] yohgaki@php.net
Do you have zlib.output_compression=On or/and output_handler set? If so, what is your setting?
Do you have ob_end_finish()/ob_end_flush() in your script?
Does this happen with 4.1.0RC5?
http://www.php.net/~zeev/
------------------------------------------------------------------------
[2001-12-06 14:46:24] adnev@podvodnik.cz
After additional testing, I discovered that the problems comes from the output buffering. If
output_buffering=Off, the problem does not persist.
------------------------------------------------------------------------
[2001-11-26 09:47:07] adnev@podvodnik.cz
The function session_start() produces an access violation (drWatson reports the fault in
strnatcmp_ex). It happens when the client has disabled cookies. The only setting that prevents the
crash is session.use_trans_sid=0, but than sessions are not handled for client without cookies
allowed.
I've tried a lot of combinations: to pass the PHPSESSID manually in a post/get variable (Input
hidden ... =session_id();) but the problem remains the same.
For win98, bothe cgi and module versions do not work, under w2k, Apache cannot load the module
version (says "cannot find"), so I don't have any idea if the module version could
work.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=14232&edit=1