phpbar.de logo

Mailinglisten-Archive

[php] Verzeichnis-Schutz

[php] Verzeichnis-Schutz

Ralf Hoffmann hoffmann_(at)_4de.de
Thu, 01 Mar 2001 17:59:54 +0100


Hallo Oliver,

stoß mit dem php doch den Authorizationsprozeß an, dann kommt diese graue Dialogbox wie bei der .htaccess-Datei und Du kannst trotzdem mit einer Datenbankabfrage überprüfen, ob jemand die notwendigen Rechte hat oder nicht. Folgender Teil-Code zeigt Dir wie es geht:

if (!isset($PHP_AUTH_USER)){
    Header("WWW-Authenticate: Basic realm=\"Selbstpflege\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo "Zugriff nicht gestattet!\n";
    exit;
}
else
{
	 $db->query("SELECT perms FROM login WHERE username='$PHP_AUTH_USER' AND password='$PHP_AUTH_PW'");	
 	 $num=$db->num_rows();
	 if ($num>0){		 
		 $db->next_record();
		 rechte = $db->f("perms");
		 $t->set_file("menue","index_home.htm");				 
							 
		 switch ($rechte){
			case "readonly":
				// hier weiterer code
			break;

		 	case "write":
				// hier weiterer code
			break;
		 }
		 $t->parse("Ausgabe","menue");
 		 $t->p("Ausgabe");		 
	 }
	 else
	 {
	 	    echo "Zugriff nicht gestattet!\n";
	 }

}

Die Datenbankabfrage mache ich mit einer Methode aus der PHPLIB, die kannste aber auch durch ein mysql_query ersetzen. Die Tabelle ist so aufgebaut: username,password,perms,sessionid,timestamp.

Die Variablen $PHP_AUTH_USER und $PHP_AUTH_PW werden nur gesetzt, wenn die graue Dialogbox ausgefüllt wird und der OK-Button gedrückt wurde.

Ich hoffe das hilft.

Viele Grüße aus Bad Schwartau
Ralf



4de frames & graphics gmbh
Riesebusch 38 c - 23611 Bad Schwartau
Tel.: 0451-2801401 - Fax: 0451-2801402
www.4de.de



php::bar PHP Wiki   -   Listenarchive