htaccess Passwort Schutz Verwaltung mit PHP

29.10.2002, 18:38
Administrator
Avatar Lukas

Beiträge: 1743
#1 Hi,

da Passwort Verwaltung mit der htaccess mit mehreren Usern überaus anstrengend ist, hier eine einfache Möglichkeit das ganze mit PHP zu bewerkstelligen.

$myusername + $mypassword kann man auch gerne als Array definieren oder als Array aus einer Datenbank wo alle User + Passwörter gelistet sind ausgeben.

PHP Code


<?php
$myusername 
"myusername";
$mypassword "mypassword";
$areaname "MyProtectedArea";

if (
$_SERVER["PHP_AUTH_USER"] == "" || $_SERVER["PHP_AUTH_PW"] == "" || $_SERVER["PHP_AUTH_USER"] != $myusername || $_SERVER["PHP_AUTH_PW"] != $mypassword)
{
    
header("HTTP/1.0 401 Unauthorized");
    
header("WWW-Authenticate: Basic realm=$areaname");
    echo 
"<h1>Authorization Required.</h1>";
    die();
}
?>

Viel Spass
__________
Gruß Lukas :yo
Dieser Beitrag wurde am 29.10.2002 um 18:38 Uhr von Lukas editiert.
Seitenanfang Seitenende
28.10.2006, 00:51
...neu hier

Beiträge: 2
#2 wie kann man das vorgenannte Script so abändern, dass es mit folgenden Scripten zusammenarbeitet:

1. Script)

<HTML>
<HEAD>
<TITLE> Login-Beispiel</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
<CENTER>
<form action="http://mitglied.url.de/externlogin.pl" method="post">
Ihr Nachname<br>
<input type="text" name="username" size="15" maxlength="30">
<BR>
Ihre Mitgliedsnummer (ohne Bindestriche)
<BR>
<input type="password" name="password" size="15" value="">
<BR>
<!-- Hier die Seite angeben, die bei einem Fehler aufgerufen wird!>
<input type="hidden" name="rueckfehler" value="http://www.ihredomain.de/ubgloginfehler.html">
<!-- Hier die Seite angeben, die nach erfolgreichem Login aufgerufen wird !>
<input type="hidden" name="rueck" value="http://www.ihredomain.de/ubglogin.php">
<input type="hidden" name="lvkv01" value="9999">
<!-- #####################################################>
<!-- Hier die LVKV-Nummern angeben, die erlaubt sind! 5 sind moeglich>
<!-- Parametername: lvkv01-lvkv05
<!-- Wird bei lvkv01 value 9999, eingetragen erfolgt keine Ueberpruefung des>
<!-- Kreisvervandes>
<!-- Beispiel: Sie betreuen den Kreisverband 1239>
<!-- input type="hidden" name="lvkv02" value="1239">
<!-- #####################################################>
<input type="submit" name="start" value="Login">
</form>
</HTML>

2. Script)

<?php
$mitglied=$_GET['mitglied'];
$name=$_GET['p1'];
$timestamp = time();
$min= date("i",$timestamp);
$datum= date("dmYH",$timestamp);
$vergel = md5($datum);
$vz = substr("$name",-1);
$vze=$vz*3;
if ($mitglied != $vergel)
{
# Hier gehts weiter, wenn kein erfolgreicher Login erfolgt ist,
# oder der Zeitstempel abgelaufen! Steht derzeit auf einer Stunde.
echo "Hier gehts weiter, wenn kein Mitglied!";
exit;
}
for ($i=0; $i<$vze ;$i+=3)
{
$kname = chr(substr($name,$i,3)/4);
$aus = $aus . $kname;
}
# Ab hier hat jeder selbst seine Bereiche zu schuetzen!
$aus = ucfirst($aus);
echo "Guten Tag Frau/Herr $aus!";
echo "<BR>Hier muss jeder selbst fuer die weitere Verarbeitung sorgen!";
echo "<BR>z.B. Cookie setzen etc., damit kein unberechtigter Zugriff erfolgen kann!";
echo "<BR><A HREF='/weiter.htm'>weiter in Ihrem internen Angebot</A>";
?>



Ich bin recht ratlos, wie ich hiermit den htaccess - Schutz verwenden kann.
Weiß wer rat, wie ich mit den beiden vorgenannten Scripten einen kompletten Unterordner schützen kann?

Viele Grüße
Toben
Seitenanfang Seitenende
28.10.2006, 10:22
Member
Avatar Xeper

Beiträge: 5291
#3 Ein komplettes Verzeichnis?
Schwierig schwierig, also erstmal muss man sagen das die Scripts hier natürlich auch nur PHP scripts sind und kein Ersatz für htaccess/htpasswd.
Solch ein Script müßte quasi for jeden Aufruf einer anderen Datei aufgerufen werden.
Also wenn jemand eine genaue URL kennt die zu einer Datei führt und der Webserver hat Zugriff daraus dann nützt das alles nichts es sei denn jeder Zugriff wird erstmal an ein bestimmtes Script (nämliches eines von denen hier) weitergeleitet oder es befinden sich ebenfalls nur php scripte in deinem Verzeicnis und dann kannst du mit require() eines von denen einbinden.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
28.10.2006, 22:43
Member

Beiträge: 343
#4 ich habe einen Script in der Entwiklung, höwahrscheinlich freeware,
der Basiert auf MySQl und hat ein Passwortabfrage wie bei htaccess,
einem registrerungsformular ein Passortvergessen,
am adminindex arbeite ich nocht
(die Grafiche gestaltung ist von phhdummy)
MfG Typ
__________
Es ist richtig, wenn Politiker behaupten: Der Mensch ist Mittelpunkt.
Falsch ist nur die Schreibweise gemeint ist: Der Mensch ist Mittel. Punkt.
Seitenanfang Seitenende
29.10.2006, 00:16
...neu hier

Beiträge: 2
#5 Hallo Typ,

ist das dann eine vollwertige httacces-Funktion bzw ein httaccess-Schutz?
Seitenanfang Seitenende
29.10.2006, 09:53
Member

Beiträge: 343
#6 das ist ein PHP-code der wird vor eine Seite eingefügt
die abfrage der Benutzerdaten wefolgt wie bei bei htaccess es ist aber auf PHP basis und mit MySQL Datenbank, da sind aber noch ein Paar Bugs drin
ich weiss noch nicht wann ich das Veröffentlichen kann
__________
Es ist richtig, wenn Politiker behaupten: Der Mensch ist Mittelpunkt.
Falsch ist nur die Schreibweise gemeint ist: Der Mensch ist Mittel. Punkt.
Seitenanfang Seitenende
29.10.2006, 13:41
Member
Avatar Xeper

Beiträge: 5291
#7

Zitat

Typ postete
das ist ein PHP-code der wird vor eine Seite eingefügt
die abfrage der Benutzerdaten wefolgt wie bei bei htaccess es ist aber auf PHP basis und mit MySQL Datenbank, da sind aber noch ein Paar Bugs drin
ich weiss noch nicht wann ich das Veröffentlichen kann
Wie soll das funktionieren wenn du zb. eine .jpg Datei in einem bestimmten Verzeichnis schützen willst?
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
29.10.2006, 16:43
Member

Beiträge: 343
#8 ja eine JPG datei kann man so natürlich nicht schützen,
aber das ist auch nicht immer nötig
__________
Es ist richtig, wenn Politiker behaupten: Der Mensch ist Mittelpunkt.
Falsch ist nur die Schreibweise gemeint ist: Der Mensch ist Mittel. Punkt.
Seitenanfang Seitenende
29.10.2006, 21:59
Member
Avatar Xeper

Beiträge: 5291
#9

Zitat

Typ postete
ja eine JPG datei kann man so natürlich nicht schützen,
aber das ist auch nicht immer nötig
Auch andere Dateien nicht, eigentlich alle außer die die ausführbar sind bzw. in source vorliegen.
Das muss man so festhalten, sonst denken die Leute noch was anderes ;)
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende