Thanks.

Moderator: Thorsten
I had this same issue on my site using MySQL on windows 2000. I ChangedThorsten wrote:it seems, this bug only appears in MS SQL.
Code: Select all
session.auto_start = 1
Code: Select all
session.auto_start = 0
Code: Select all
phpMyFAQ Version
phpMyFAQ 2.0.3
Server Software
Apache/2.2.6 (Win32) PHP/5.2.4
PHP Version
PHP 5.2.4
Register Globals
off
Safe Mode
off
Open Basedir
off
Database Server
Mysql
Database Client Version
5.0.45
Database Server Version
4.1.22-community-nt
Webserver Interface
APACHE2HANDLER
PHP Extensions
bcmath, calendar, com_dotnet, ctype, session, filter, ftp, hash, iconv, json, odbc, pcre, Reflection, date, libxml, standard, tokenizer, zlib, SimpleXML, dom, SPL, wddx, xml, xmlreader, xmlwriter, apache2handler, exif, gd, imap, ldap, mbstring, mysql, snmp, soap, sockets
Code: Select all
sessionstart()
Code: Select all
/**
* This function deregisters the global variables only when 'register_globals = On'.
* Note: you must assure that 'session_start()' is called AFTER this function and not BEFORE,
* otherwise each $_SESSION key will be set to NULL because $GLOBALS
* has an entry, as copy-by-ref, for each $_SESSION key when 'register_globals = On'.
*
* @return void
* @access private
* @author Stefan Esser <sesser@php.net>
*/
function unregisterGlobalVariables()
{
if (!ini_get('register_globals')) {
return;
}
if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
die('GLOBALS overwrite attempt detected.');
}
$noUnset = array('GLOBALS', '_GET', '_POST', '_COOKIE', '_REQUEST', '_SERVER', '_ENV', '_FILES');
$input = array_merge($_GET, $_POST, $_COOKIE, $_SERVER, $_ENV, $_FILES, isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
foreach (array_keys($input) as $k) {
if (!in_array($k, $noUnset) && isset($GLOBALS[$k])) {
$GLOBALS[$k] = null;
unset($GLOBALS[$k]);
}
}
}
Code: Select all
// remove global registered variables to avoid injections
//if (ini_get('register_globals')) {
// PMF_Init::unregisterGlobalVariables();
//}