php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #10930 Can't connect to mysql after running some code that crashes IIS 5
Submitted: 2001-05-17 12:08 UTC Modified: 2002-05-24 20:24 UTC
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:0 (0.0%)
Same OS:1 (50.0%)
From: tyler dot longren at midiowa dot net Assigned:
Status: Not a bug Package: IIS related
PHP Version: 4.0.5 OS: Windows 2000
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: tyler dot longren at midiowa dot net
New email:
PHP Version: OS:

 

 [2001-05-17 12:08 UTC] tyler dot longren at midiowa dot net
After running the code below, PHP 4.0.5 is no longer able to connecto to mysql.  I have tested this at 2 different locations, and the result is the same every time.  Also after visiting the website with this code in it, inetinfo.exe (IIS) crashes.

PHP was installed with php405-installer.exe.  The problem occurs on Windows 2000 Professional SP1 & SP2.  Windows 2000 server has not been tested.  Below is the code that should be pasted into a webpage, and then visited with any browser.  I accidentally caused inetinfo.exe to die with this:

<?
/*
This was written (accidentally) by Tyler Longren <tyler.longren@midiowa.net>.
This was found on accident...thanks to my crappy coding.  :)
Date: 05-14-2001
Kills: Inetinfo.exe on Win2k
*/
session_start();
session_register('username');
session_register('password');
header("Location: $PHP_SELF");
if ($formusername) {
	mysql_connect("$mysql_host","$mysql_user","$mysql_pass");
	mysql_select_db("$mysql_db");
	$auth_sql = mysql_query("SELECT * FROM $mysql_user_table WHERE username =
'$formusername' AND password = '$formpassword'");
	$user_exists = mysql_num_rows($auth_sql);
	if ($user_exists == "1") {
		$username = $formusername;
		$password = $formpassword;

	}
	else {
		$login_error = "<font face=Arial size=2><b>Error:</b></font><br><font
face=Arial size=1>Wrong<br>username/password</b></font>";
		session_unregister('username');
		session_unregister('password');
	}

}
else {
	mysql_connect("$mysql_host","$mysql_user","$mysql_pass");
	mysql_select_db("$mysql_db");
	$auth_sql = mysql_query("SELECT * FROM $mysql_user_table WHERE username =
'$username' AND password = '$password'");
	$user_exists = mysql_num_rows($auth_sql);
	if ($user_exists == "1") {
		// blah blah blah!
	}
	else {
		$login_error = "<font face=Arial size=2><b>Error:</b></font><br><font
face=Arial size=1><b>Wrong<Br>username/password</b></font>";
		session_unregister('username');
		session_unregister('password');
	}
}
if ($login == "no") {
	session_destroy();
	session_unregister('username');
	session_unregister('password');
	header("Location: $PHP_SELF");
}
?>

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-03-07 07:50 UTC] dean dot jenkins at onexamination dot com
I have experienced the same bug with PHP 4.1.1 (Win32 install build) and Windows 2000 server. It is really an IIS bug not a PHP bug. The crux of it is ...

header("Location: $PHP_SELF");

This sends a 'virtual' URI not an absolute URI. (see the <a href="http://www.php.net/manual/en/function.header.php">PHP manual for header function</a>). Why this should crash IIS is unclear since surely it should cope with a rogue CGI program.

If an absolute URI is sent in the header it does not crash IIS.

This would cause problems on Windows boxes running a number of PHP websites for end users. Sloppy header coding can cause all the websites to be unavailable until admin restarts IIS.

Phorum 3.3.2a (www.phorum.org) uses the Location header with a virtual URI in the admin screens.
 [2002-05-24 20:24 UTC] derick@php.net
Sorry, but the bug system is not the appropriate forum for asking
support questions. Your problem does not imply a bug in PHP itself.
For a list of more appropriate places to ask for help using PHP,
please visit http://www.php.net/support.php

Thank you for your interest in PHP.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Dec 27 00:01:30 2024 UTC