Safemod -> Login läuft nichtmehr

root-acid

Grünschnabel
Servus...

Folgendes Script hatte ich bissher zum einlogen in einen Adminbereich.
Jetzt hat der Hoster vor kurzem den Server in den Safemod versetzt. Somit werden keine globalen Variablen mehr übergeben.

Wenn ich das Script jetzt ausführe, und einen Namen +PW eingebe, passiert einfach garnichts, und ich soll erneut Benutzer+PW eingeben.

Gestern meinte ein Kumpel:
$PHP_AUTH_USER wird nicht global übernommen, muss man auf $_SERVER['PHP_AUTH_USER']

Leider bekomme ich es so auch nicht hin, kann hier vielleicht wer helfen?
PHP:
<?php 
import_request_variables("gP", "");
require ("countit.php3");
include "de_connect.php";
if (!$id) $id="Startseite"; 
if ($id=="admin/index") 
{
	function authenticate()
		{
			Header("WWW-Authenticate: Basic realm=\"Login Adminseite\"");
			Header("HTTP/1.0 401 Unauthorized");
			echo "Invalid authentication!\n";
			exit;
		}
	
		if(!isset($PHP_AUTH_USER)) 
			 authenticate();
		else 
		{
			$erg=MYSQL_QUERY("SELECT * FROM tabelle where name='$PHP_AUTH_USER' and pw='$PHP_AUTH_PW'");
			if (!$row=mysql_fetch_array($erg))
			{
				authenticate();
				die;
			}
		}

}

?>

MfG
Tobi
 
dein Problem ist glaube weniger der Safemode sondern er "register_globals".

Falls du z.b. das Script so benutzt:

index.php?id=admin/index musst du mit $_GET arbeiten.

Also so:

PHP:
<?php  
import_request_variables("gP", ""); 
require ("countit.php3"); 
include "de_connect.php"; 
if (!$_GET['id']) $_GET['id']="Startseite";  
if ($_GET['id']=="admin/index")  
{ 

// ... usw ...

Schau dir dazu ambesten mal das hier an:
http://de.php.net/register_globals
http://www.goldmann.de/variablen-in-php-sauber-%FCbergeben-mit-register_globals%3Doff_tipp_138.html
 
Zuletzt bearbeitet:
Zurück