Verzeichnisschutz (.htaccess und .htpasswd erstellen)
Scripte > Protection
Verzeichnisschutz .htaccess und .htpasswd schnell automatsch erzeugen
Diese kleine Programm erzeugt automatisch einen Verzeichnisschutz .htaccess und .htpasswd.
ZIP-Datei in ein beliebiges Verzeichnis auf dem PC entpacken und einfach die in der ZIP-Datei enthaltene Datei "xssen.php" in das zu schützende Verzeichnis auf den Webspace kopieren und im Browser aufrufen:
http(s)://domain.tld/das_zu_schuetzende_verzeichnis/xssen.php
Es erfolgt eine Menüführung bis hin zur Erstellung des Verzeichnisschutzes. Abschließend wird die Datei "xssen.php" automatisch gelöscht (Voreinstellung).Hinweis:
Um diesen Verzeichnisschutz ausführen zu können, muss der Webserver die Scriptsprache PHP ausführen können. Wenn Du das nicht weißt, informiere Dich bei Deinem Provider oder versuche die Serverinformationen hiermit selbst auszulesen. Sollte das nicht möglich sein, kann Dein Webserver mit großer Sicherheit kein PHP auswerten.
Das Script läuft unter allen aktuellen PHP-Versionen!
Hier kann die Verzeichnisschutz-Erstellung
bedenkenlos in vollem Umfang getestet werden:
bedenkenlos in vollem Umfang getestet werden:
Code Datei "x5access.php"
<?php
/* ******************************************************* *//* xsSen.php *//* einfacher Verzeichnisschutz. *//* ******************************************************* */########################################################################################### Dieses Programm ist freie Software. Du kannst es unter den Bedingungen der GNU General# Public License, weitergeben und/oder modifizieren.# Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Dir von Nutzen# sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der# MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK.# Details findest Du in der GNU General Public License.##########################################################################################/* Die Stylesheets kannst Du ändern */ $stylesheets='<style type="text/css"><!--body,i,u,b,p,table,td,form,input,textarea {font-family: courier new,courier,monospace; font-size: 13px; color: #000000; }a { font-family: courier new,courier,monospace; font-size: 13px; color: #00A000; }h1 { font-family: courier new,courier,monospace; font-size: 28px; color: #0000C0; }pre { font-family: courier new,courier,monospace; font-size: 13px; color: #0000C0; }.red { color: #FF0000; font-family: courier new,courier,monospace; }.url { color: #000000; font-family: arial,sans-serif; font-size: 13px; }--></style>';/* ********** Ende des Stylesheet *********** *//*** Es sind KEINE weiteren Änderungen oder Einstellungen vorzunehmen.Kopiere diese Datei einfach in das zu schützende Verzeichnis und führen sie über den Browser aus**/// Version$program = "xssen.php";$version = "3.0.x5-2";// Name dieses Scripts$self_name = basename(__FILE__);$self_pfad = realpath("./");// Dateispeicher leerenclearstatcache();// Demo aktivieren ./. nichtif(file_exists($self_pfad.'/dvlp.inc')) {@include('dvlp.inc');} else {$dvlp = "off";}// php Version checkenif (substr(preg_replace("[^0-9]",'',PHP_VERSION),0,2) < 4.1){die ('Dieses Script erfordert mindestens PHP Version 4.1.0. Auf diesem Server ist Version '.PHP_VERSION.' installiert.');}// Request vars$request_var_arr = array('dvlp','dvlp_info','name','pw1','pw2','bereich','aufruf','showdetails','bericht','showpasswd','dvlpcryptdir',
'submit','cryptby','cpassword','killme','dvlpendtxt');
foreach ($request_var_arr as $val) {
if(isset($_POST[$val])) {
$$val = $_POST[$val];
} elseif(isset($_GET[$val])) {
$$val = $_GET[$val];
} elseif(!isset($$val)) {
$$val = '';
}
}
?>
<html>
<head>
<meta name="robots" content="none"><meta name="robots" content="noindex"><title>xsSen.php - einfacher Verzeichnisschutz.</title><?php echo $stylesheets ?>
</head>
<body>
<div align="center">
<table width="650">
<tr>
<td align="center">
<a href="../../"><img src="../../style/top.png" style="width:650px"></a><br><form action="<?php echo $self_name ?>" method="post"><h1>xssen.php <?php echo $version ?></h1><h2>Einfacher Verzeichnisschutz<?php echo $dvlp_info ?></h2><i>Überarbeitung: X5Forum Home-Wiekau Copyright 2002 ehemals by Sensiebels</i><hr noshade size="1"><?php$name = trim(stripslashes($name));$bereich = trim(stripslashes($bereich));$pw1 = trim(stripslashes($pw1));$pw2 = trim(stripslashes($pw2));$salt = "substr(str_replace('+', '.', base64_encode(pack('N4', mt_rand(), mt_rand(), mt_rand(), mt_rand()))), 0, 22)";function submitbutton($buttontext,$aufruf) {
global $name,$bereich,$pw1,$pw2;echo '<input type="hidden" name="bereich" value="',$bereich,'"><input type="hidden" name="name" value="',$name,'"><input type="hidden" name="pw1" value="',$pw1,'"><input type="hidden" name="pw2" value="',$pw2,'"><input type="hidden" name="aufruf" value="',$aufruf,'"><input type="submit" name="submit" value="',$buttontext,'">';
}/* Programm Aufrufe */switch ($aufruf) {case "drei":/* Dritter Aufruf: Mach es wahr! (oder nicht) */// abbrechenif($submit=="abbrechen") {?>Das Verzeichnis wurde nicht geschützt.<br>Es wurden weder Daten gespeichert noch geändert. <br><br><?phpsubmitbutton("zurück","eins");} else {// wahrmachen$dvlpcryptdir!="" ? $self_pfad = $dvlpcryptdir : $self_pfad;$htaccess = "AuthName \"".$bereich."\"\nAuthType Basic\nAuthUserFile ". $self_pfad."/.htpasswd\n\nrequire valid-user\n";// Verschlüsselnswitch($cryptby) {case "crypt": $cpassword = crypt($pw1, $salt); break;case "md5": $cpassword = md5($pw1); break;case "none": $cpassword = $pw1; break;}$htpasswd = $name.":".$cpassword;// Schreibenif($dvlp=='off') {if($datei1=@fopen(".htpasswd","w")) {fputs($datei1,$htpasswd);fclose($datei1);$bericht .= "Die .htpasswd Datei wurde geschrieben.<br>";if($datei2=@fopen(".htaccess","w")) {
fputs($datei2,$htaccess);fclose($datei2);$bericht .= "Die .htaccess Datei wurde geschrieben.<br>";
} else {
$bericht.="<b>FEHLER.<br>Die .htaccess Datei konnte nichtgeschrieben werden!</b>";}
} else {
$bericht.="<b>FEHLER.<br>Die .htpasswd konnte nichtgeschrieben werden!</b>";}
}else {
// DVL == ON$bericht .= "Die .htpasswd Datei wurde geschrieben. (demo)<br>Die .htaccess Datei wurde geschrieben. (demo)<br>";
}// Ausgabeecho '<h1>BERICHT</h1><b>',$bericht,'</b><br><table><tr><td><pre><b>Inhalt der Datei .htaccess:</b>',"\n", htmlspecialchars($htaccess),'</pre><hr noshade size="1"><pre><b>Inhalt der Datei .htpasswd:</b>',"\n", htmlspecialchars($htpasswd),'</pre></td></tr></table><br>';// Selbstzerstörungif($killme == "yes" && $dvlp!="on") {
if (@unlink($self_name)) {echo "<br><b>Dieses Programm hat sich soeben selbst gelöscht.</b>";
} else {
// Couldn't unlinkecho "<br>Dieses Programm konnte nicht gelöscht werden und bleibt imVerzeichnis bestehen. <b>Bitte entferne es sicherheitshalber manuell</b>!";}
} else {
// $killme == noecho "<br>Dieses Programm bleibt weiterhin im Verzeichnis bestehen.";
}
echo '<br><a href="../../">zur Startseite</a>', $dvlpendtxt;
}break;case "zwei":/* Prüfen */$bereich = preg_replace("/[^A-Za-z0-9_]/"," ",$bereich);// Variablen übergeben?if(!$pw1||!$pw2||!$name||!$bereich) {
echo "<b>Bitte fülle alle Felder aus.</b><br>";submitbutton("zurück","eins");} else {
// Passwörter richtig?if($pw1!=$pw2) {echo "<b>Die Passwörter stimmen nicht überein.<br><br><i><a href=\"",$self_name,"\">Neustart</a></i></b>";
} else {
// Datei existiert?if(file_exists($self_pfad."/.htaccess")) {
echo "<b class=\"red\">ACHTUNG</b><br>Es existiert bereits eine <b>.htaccess</b> Datei. Wenn Dufortfährst, wird diese überschrieben!<hr noshade size=\"1\">";}
if(file_exists($self_pfad."/.htpasswd")) {echo "<b class=\"red\">ACHTUNG</b><br>Es existiert bereits eine <b>.htpasswd</b> Datei. Wenn Dufortfährst, wird diese überschrieben!<hr noshade size=\"1\">";}// Zur Überprüfung ausgeben?><table>
<tr>
<td align="right">
<table cellspacing="0" cellpadding="6" border="1">
<tr><th colspan="2">Bitte wähle die Art der Passwort-Verschlüsselung:</th></tr><tr><td><input type="radio" name="cryptby" value="crypt" checked></td> <td>crypt (linux, unix)</td></tr><tr><td><input type="radio" name="cryptby" value="md5"></td> <td>md5 (windows)</td></tr><tr><td><input type="radio" name="cryptby" value="none"></td> <td>unverschlüsselt</td></tr>
</table>
</td>
<td align="left">
<table cellspacing="0" cellpadding="6" border="1">
<tr>
<th colspan="2" align="center">Bitte prüfe diese Angaben nochmals und merke Dir Deine Zugangsdaten:</th>
</tr>
<tr>
<td colspan="2" align="center">Name des Bereichs: <?php echo $bereich ?></td>
</tr>
<tr>
<td>USERNAME:</td> <td><?php echo $name ?></td>
</tr>
<tr>
<td>PASSWORT:</td>
<td>
<?phpif($showpasswd!="no") {echo $pw1;} else {echo preg_replace("[^\*]","*",$pw1);}?>
</td>
</tr>
</table></td></tr></table><br><?phpsubmitbutton("Verzeichnisschutz erstellen! *","drei");?><br><table>
<tr>
<td><input type="checkbox" name="killme" value="yes" checked></td>
<td>* Dieses Programm nach erfolgter Erstellung entfernen (empfohlen).</td>
</tr>
</table><br><hr noshade size="1"><input type="submit" name="submit" value="abbrechen"><?php$bericht ? $bericht="<b>HINWEISE:</b><hr noshade size=\"1\">".$bericht:$bericht="";}}break;case "eins":/* Name und Passworteingabe */// http-pfadangabe$httppfad_null = explode("?",getenv('HTTP_REFERER'));$httppfad = $httppfad_null[0];// Defaulteintrag für form[bereich]$bereich == "" ? $bereich = "PRIVAT" : $bereich;?>Stimmt folgende Adresse mit der Adressleiste Deines Browsers überein?<br><table border="1" cellpadding="3"><tr><td><span class="url"><?php echo $httppfad ?></span></td></tr></table><br><br>Wenn <b>ja:</b> Trage bitte einen Benutzernamen und ein Passwort ein:<br><br>
<table><tr><td>Benutzername:</td><td><input type="text" size="35" name="name" value="<?php echo $name ?>" maxlength="20"></td></tr><tr><td>Passwort:</td><td><input type="password" name="pw1" value="" size="35" maxlength="20"></td></tr><tr><td>Passwort wiederholen:</td><td><input type="password" name="pw2" value="" size="35" maxlength="20"></td></tr><tr><td>Name des geschützten Bereichs:</td><td><input type="text" name="bereich" value="<?php echo $bereich ?>" size="35" maxlength="20"></td></tr><tr><td colspan="2">(wird später bei der Passwortabfrage angezeigt)</td></tr>
</table><br><input type="hidden" name="aufruf" value="zwei"><hr noshade size="1"><table><tr>
<td><input type="Checkbox" name="showpasswd" value="no" checked></td>
<td>Passwort auch im nächsten Schritt als *** anzeigen.</td>
</tr></table><input type="submit" value="Weiter"><?phpbreak;default:
/* Nullaufruf */if($self_name!='' && $self_pfad!='' && file_exists($self_pfad."/".$self_name)) {if ($showdetails=="yes") {echo '<P><STRONG>NO WARRANTY</STRONG></P><P><STRONG>11.</STRONG> BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. <P> <STRONG>12.</STRONG> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.<br><br><a target="_blank" href="http://www.gnu.org/licenses/gpl.html">READ THE GNU GENERAL PUBLIC LICENCE</a><hr noshade size="1"><a href="',$self_name,'">[hide details]</a><hr noshade size="1">';} else {echo $program,' comes with ABSOLUTELY NO WARRANTY - <a href="',$self_name,'?showdetails=yes">for details click here</a><hr noshade size="1">Für ',$program,' besteht KEINERLEI GARANTIE - <a href="',$self_name,'?showdetails=yes">Klicke hier für Details.</a><hr noshade size="1"><a target="_blank" href="http://www.gnu.org/licenses/gpl.html">GNU GENERAL PUBLIC LICENSE</a><hr noshade size="1">';}?><br><input type="hidden" name="aufruf" value="eins"><input type="submit" value="Start"><br><br> Es folgen zwei weitere Schritte.<?php} else {?><h1>Fehler.</h1>Dieses Script funktioniert leider nicht auf diesem Server.<br>Schaue auf die<a href="http://www.x5forum.home-wiekau.de/wsx5obj92.php"> X5-Helpsite - Serverinformation </a> nach<br>oder kontaktiere Deinen Provider, ob PHP auf Deinem Server verfügbar ist.<?php}break;
}
?>
</form>
</td>
</tr>
</table>
</div>
</body>
</html>
» nach oben «