
Den Code des nachfolgenden PHP-Scripts zum Generieren von Passwörtern für .htaccess-Dateien können Sie kopieren und für Ihre eigene Website verwenden. Er funktioniert nur mit UNIX-Systemen.
<?
function codegenerieren($stellendescodes){
$qel="0123456789abcdefghijklmnopqrstufwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
srand((double)microtime()*1000000);
$code="";
for($i=0;$i<$stellendescodes;$i++){
$code .= $qel[rand()%strlen($qel)];
}
return $code;
}
if (isset($_POST['passwort'])){
$passwort=crypt($_POST['passwort'],codegenerieren(2));
}else{
$passwort="";}
?>
<html>
<head></head>
<body>
<form action="php-htaccess-passwort-generator.php" method="post">
Passwort: <input type="password" name="passwort" />
<input type="submit" value="Passwort generieren" /> <? echo $passwort; ?>
</form>
</body>
</html>
<?
Der PHP-Code wird eingeleitet.
function codegenerieren($stellendescodes){
Die in Zeile 11 benötigte Funktion codegenerieren wird erstellt. An sie wird als Argument $stellendescodes übergeben.
$qel="0123456789abcdefghijklmnopqrstufwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
Der Variablen $qel wird als Wert ein String zugewiesen. Dieser String besteht aus allen Zeichen, die für das Generieren des Zufallscodes zur Verfügung stehen sollen. Also in diesem Fall die Zahlen 0-9, sowie das Alphabet in Groß- und Kleinbuchstaben.
srand((double)microtime()*1000000);
Diese Zeile wird nur für PHP-Versionen benötigt, die älter als 4.2 sind.
$code="";
Um die Variable $code zu definieren und somit eine Notice auf eine nicht definierte Variable in Zeile 7 zu verhindern, wird ihr ein leerer String als Wert zugewiesen.
for($i=0;$i<$stellendescodes;$i++){
Eine for()-Schleife wird eingeleitet. Diese wird solange durchlaufen und $i inkrementiert, bis $i den Zahlenwert von $stellendescodes erreicht hat bzw. erreichen würde.
$code .= $qel[rand()%strlen($qel)];
Der zuvor einen leeren String enthaltenden Variablen $code wird ein zufällig ermitteltes Zeichen aus $qel hinzugefügt.
}
Die for()-Schleife wird beendet.
return $code;
Die der Inhalt der Variablen $code wird mittels return zurückgegeben.
}
Die Funktion codegenerieren() ist fertig definiert.
if (isset($_POST['passwort'])){
Falls das Formular zum Generieren des Passwortes abgeschickt wurde...
$passwort=crypt($_POST['passwort'],codegenerieren(2));
...wird der Variablen $passwort das mit crypt() verschlüsselte Passwort, sowie ein zweistelliger Zufalls-Code zugeordnet.
}else{
Andernfalls...
$passwort="";}
...wird $passwort ein leerer String zugeordnet, um einen Hinweis auf eine nicht-definierte Variable in Zeile 21 zu vermeiden.
?>
Ende des PHP-Codes.
<html>
HTML wird eingeleitet.
<head></head>
Der HEAD wird geöffnet und geschlossen.
<body>
Der BODY wird eingeleitet.
<form action="php-htaccess-passwort-generator.php" method="post">
Eine <form> mit der Methode post wird eingeleitet. Als action-Attribut ist der Name der Datei angegeben, die den PHP-Code und das Formular zur Passwort-Eingabe selbst enthält.
Passwort: <input type="password" name="passwort" />
Dem auf der Seite angezeigten Text Passwort folgt ein Eingabefeld des Typs password, in das das zu verschlüsselnde Passwort eingegeben werden kann.
<input type="submit" value="Passwort generieren" /> <? echo $passwort; ?>
Durch den mit Passwort generieren betitelten Submit-Button kann das Formular abgeschickt werden. Gefolgt wird der Submit-Button von der Ausgabe der in Zeile 12 bzw. Zeile 14 definierten $passwort-Variablen. Diese enthält einen leeren String (Zeile 14), sollte das Formular noch nicht abgeschickt worden sein. Nach Absenden des Formulars enthält $passwort das in Zeile 12 zugewiesene, für die .htaccess-Datei verschlüsselte Passwort.
</form>
Das in Zeile 19 geöffnete Formular wird geschlossen.
</body>
Der in Zeile 18 geöffnete BODY wird geschlossen.
</html>
Ende des HTML-Containers.