Verzeichnisschutz (.htaccess und .htpasswd erstellen) - Website X5 Helpsite

Logo Schriftzug
Logo WSX5
Scan QR or Download Android App
Direkt zum Seiteninhalt

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!
Download Button
x runter geladen
Hier kann die Verzeichnisschutz-Erstellung
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 leeren
clearstatcache();
// Demo aktivieren ./. nicht
if(file_exists($self_pfad.'/dvlp.inc')) {
  @include('dvlp.inc');
} else {
  $dvlp = "off";
}
// php Version checken
if (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>&Uuml;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) */
// abbrechen
if($submit=="abbrechen") {
?>
Das Verzeichnis wurde nicht gesch&uuml;tzt.<br>
Es wurden weder Daten gespeichert noch ge&auml;ndert. <br><br>
<?php
submitbutton("zur&uuml;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üsseln
switch($cryptby) {
case "crypt": $cpassword = crypt($pw1, $salt); break;
case "md5": $cpassword = md5($pw1); break;
case "none": $cpassword = $pw1; break;
}
$htpasswd = $name.":".$cpassword;
// Schreiben
if($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 nicht
  geschrieben werden!</b>";
}
} else {
$bericht.="<b>FEHLER.<br>Die .htpasswd konnte nicht
  geschrieben werden!</b>";
}
}
else {
// DVL == ON
$bericht .= "Die .htpasswd Datei wurde geschrieben. (demo)<br>
Die .htaccess Datei wurde geschrieben. (demo)<br>";
}
// Ausgabe
echo '<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örung
if($killme == "yes" && $dvlp!="on") {
if (@unlink($self_name)) {
echo "<br><b>Dieses Programm hat sich soeben selbst gel&ouml;scht.</b>";
} else {
// Couldn't unlink
echo "<br>Dieses Programm konnte nicht gel&ouml;scht werden und bleibt im
 Verzeichnis bestehen. <b>Bitte entferne es sicherheitshalber manuell</b>!";
}
} else {
  // $killme == no
  echo "<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&uuml;lle alle Felder aus.</b><br>";
submitbutton("zur&uuml;ck","eins");
} else {
// Passwörter richtig?
if($pw1!=$pw2) {
echo "<b>Die Passw&ouml;rter stimmen nicht &uuml;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 Du
 fortf&auml;hrst, wird diese &uuml;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 Du
 fortf&auml;hrst, wird diese &uuml;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&auml;hle die Art der Passwort-Verschl&uuml;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&uuml;sselt</td>
</tr>
</table>
</td>
<td align="left">
<table cellspacing="0" cellpadding="6" border="1">
<tr>
<th colspan="2" align="center">Bitte pr&uuml;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>
<?php
if($showpasswd!="no") {
echo $pw1;
} else {
echo preg_replace("[^\*]","*",$pw1);
}
?>
</td>
</tr>
</table>
</td>
</tr>
</table><br>
<?php
submitbutton("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 &uuml;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&uuml;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&auml;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&auml;chsten Schritt als *** anzeigen.</td>
</tr>
</table>
<input type="submit" value="Weiter">
  <?php
break;
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&uuml;r ',$program,' besteht KEINERLEI GARANTIE - <a href="',$self_name,'?showdetails=yes">Klicke hier f&uuml;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&uuml;gbar ist.
  <?php
       }
break;
}
?>
</form>
</td>
</tr>
</table>
</div>
</body>
</html>

» nach oben «
Logo Host Europe
Button Spenden
🏠 © 2009 - 2024
Hosting by
Zurück zum Seiteninhalt