Bei diesem Code-Snippet stellen wir Ihnen eine PHP5 Klasse vor, mit der Sie komfortabel einen Verzeichnisschutz mittels htaccess erstellen können. Die Klasse ist so konzipiert, dass sie htaccess- oder htpasswd-Dateien neu erstellen kann oder in vorhandenen htpasswd-Dateien User hinzufügen bzw. löschen kann. Weiterhin besteht die Möglichkeit entweder auf eine zentrale htpasswd-Datei zuzugreifen oder für jedes Verzeichnis eine eigene Datei erstellen zu lassen. Bei den untenstehenden Beispielen, sehen Sie den Umgang mit dieser Klasse.
/**
* Fügt einen neuen User der htpasswd-Datei hinzu
*
* @param string $user Username
* @param string $passwd Passwort
*
* @return boolean True im Erfolgsfall, false im Fehlerfall
*/
public function addNewUser ( $user, $passwd )
{
if ( !fwrite( $this->fp_pwFile, $userLoad ) )
return false;
return true;
}
/**
* Löscht einen bestehenden User aus der htpasswd-Datei
*
* @param string $user Der zu löschende Username
*
* @return boolean True im Erfolgsfall, false im Fehlerfall
*/
public function deleteUser ( $user )
{
if ( $this->fp_htFile != FALSE )
fclose($this->fp_htFile);
if ( $this->fp_pwFile != FALSE )
fclose($this->fp_pwFile);
}
}
?>
Anwendungsbeispiel
<?php
include("htaccessManager.inc.php");
// Erstellt eine neue htaccess- und htpasswd Datei
// im aktuellen Verzeichnis
/*
$hta = new htaccessManager();
$hta -> createNewHtaccess( "Geschützte Sektion" );
$hta -> createNewHtpasswd( );
$hta -> addNewUser( "Damir", "testpasswort" );
*/
// Öffnet eine bestehende htpasswd Datei und fügt User hinzu
/*
$hta = new htaccessManager( NULL, dirname(__FILE__) . '/.htpasswd');
$hta -> addNewUser( "Damir2", "test" );
*/
// Öffnet eine bestehende htpasswd Datei und löscht einen bestehenden User
$hta = new htaccessManager( NULL, dirname(__FILE__) . '/.htpasswd');
$hta -> deleteUser( "Damir2" );
?>