Archiv verlassen und diese Seite im Standarddesign anzeigen : .htaccess
Downline 14-11-2001, 13:48 Hallo! Ich habe ein kleines Problem! Ich habe mir einen Webserver eingerichtet und möchte nun ein Verzeichnis mit Paßwort schützen! D.h. Man geht auf meinen Rechner über eine Subdomain, die auf meinen Computer weiterleitet, sieht meine Startseite und wenn man auf Login geht, soll eine Passwortabfrage kommen und nur wenn die richtig ist, wird man auf den zugänglichen Bereich weitergeleitet!
???? .htaccess hab ich so probiert:
AuthType Basic
AuthName "Restricted Directory"
AuthUserFile /intern/.htpasswd
require valid-user
Bei dem Pfad AuthUserFile liegt vielleicht der Fehler!
Naja. .htpasswd
irgendwas:Password
So. Wenn ich jetzt auf Login gehe, öffnet er das Verzeichnis "intern" und die Datei index.html! Aber er soll da ja erst die Passwortabfrage machen! Danke im vorraus!
Downline 14-11-2001, 14:27 Wer sich das mal anschauen möchte
http://top-projekt.dns2go.com
Login! Und dann kommt der interne Bereich!
Also was mir als erstes aufgefallen ist: Dein Verzeichnis heißt 'Intern' und nicht 'intern' - du solltest den Pfad zur .htpasswd in deiner .htaccess umändern.
Downline 14-11-2001, 15:36 Und wie sollte ich den umändern?
in Intern, nicht intern - Groß- und Kleinschreibung beachten!
Downline 14-11-2001, 15:50 Hab ich schon gemacht. Geht trotzdem nicht! ,( **Heul**
Downline 14-11-2001, 16:07 Also ich habe jetzt auf einer Seite gelesen --Zitat--
"Mit AuthUserFile wird der Pfad zur Passwortdatei festgelegt.
Dieser Pfad muss absolut zum internen Dateisystem angegeben werden. /homepages/xx/xxxxxxxx/htdocs
Bloß wie ist das bei meinem eigenen Webserver? Wie kann ich da den absoluten Pfad zum internen Dateisystem rauskriegen?
Mach ein Script mit dem Inhalt:
echo $DOCUMENT_ROOT
Downline 14-11-2001, 19:07 Ich verzweifel bald! -heul-
Das was überall steht:
#
AuthUserFile /hp/htdocs/[Ordner]/private/.htpasswd
Der String /hp/htdocs/ ist beispielhaft für Ihren Document Root, der absolute Pfad zu Ihrer Internetpräsenz. Fragen Sie bei Ihrem Provider nach, wenn Sie ihn nicht kennen
#
Ich habe doch aber meinen eigenen Webserver hier! Und ich weiß einfach nicht, was der absolute Pfad ist!
Apache installiert unter C:\Webserver\Apache\Apache\apache.exe
Die Seite auf die zugegriffen wird beim Aufruf:
C:\Webserver\Apache\Apache\htdocs\index.html
Verzeichnis was geschützt werden soll:
C:\Webserver\Apache\Apache\htdocs\Inhalt\index.html
AuthUserFile C:\Webserver\Apache\Apache\htdocs\Inhalt\.htaccess
(hab keine allzu große Erfahrung mit Apache-Pfadangaben unter Windows)
Downline 14-11-2001, 19:22 ,(((( Trän, Schnief!
Hab ich schon probiert! Geht nich! Heul! Ich hab schon alles ausprobiert! Hat denn hier niemand einen Apache-Webserver zu hause und weiß wie das geht?
Windows-Leute an die Front!
try
AuthUserFile C:/Webserver/Apache/Apache/htdocs/Inhalt/.htaccess
Hallo Downline
Vergiss das ganze.. .htaccess läuft nur auf UNIX bzw. auf LINUX rechnern und nicht auf Windows rechnern.
hui, man lernt doch nie aus :)
Downline 14-11-2001, 19:55 Sche***!! So ein Mist. Was kann ich denn da jetzt machen um die Sache Passwort zu schützen??
Passwortabfrage per PHP & mySQL.. geht auch ganz einfach.
Downline 14-11-2001, 20:48 Ja. Will grad sowas machen. Aber ohne Datenbank! Sind nicht viele Leute, die sich da einloggen. Nur 2 oder 3!
Ich habe jetzt meine index.html so gemacht!
<html>
...
...
<div align="center"><font face="VERDANA,ARIAL,HELVETICA"><font size="+1">Dies ist eine Internetplattform zur Entstehung eines gemeinsamen Projektes von Teilnehmern über eine größere Distanz!</font></font></div><br><br><br><br><br><br>
<div align="center"><font face="VERDANA,ARIAL,HELVETICA"><font size="+3"><b>
<form action=config.php method=post>
Passwort:<br><input type="password" name="pass"><br><br>
<input type=submit value="Login">
</form>
</b></font></font></div>
.....
</html>
Übergebe die eingegebenen Daten an config.php!
Was müßte denn jetzt da drin stehen, damit ich bei richtiger eingabe an seite intern.html weitergeleitet werde und bei falscher eine Fehlermeldung bekomme?
config.php
<?
if $password="tyH5" | gehe zu intern.html
else |gehe zu error.html
?>
Wie geht das?
<?
if ($password=="tyH5") {
header("Location: intern.html");
} else {
header("Location: error.html");
//bzw. direkte Fehlerausgabe hier:
echo 'Fehler.';
}
?>
Ich hab' gesehen, daß deine Seite schon mit dem php-script verschlüsselt ist. Trotzdem:
apache läuft unter meinem Windows 98 wie Sahne, auch die .htaccess-Abfragen. Der absolute Pfad ist: C:/apache/htdocs/verzeichnis(se)/.htpasswd (es ist besser, apache im Stammverzeichnis abzulegen, grad' was Verzeichnispfade in den Scripten anbelangt, vielleicht klappt's aber trotzdem). Das Paßwort muß allerdings unverschlüsselt eingegeben werden, weil apache die Verschlüsselung von Windows nicht kapiert und umgekehrt (also nix für Bankgeschäfte).
Um das Ganze zu testen, muß apache 'niedergeschlossen' werden -> neu starten, das selbe bei jedem neuen Seitenaufruf, weil sich der server deine Authentifizierung merkt. Vielleicht versuchst du's ja nochmal, die schnuckligen Fenster finde ich besser als die gräßlichen Formularfelder im Lay-Out. Tipp: das tool "Encode Unix Password" von http://www.magsys.co.uk/apps/index.shtml erspart einem die lästige MS-DOS-Eingabeaufforderung.
Vielleicht kann mir noch jemand helfen: warum geben verschiedene Crypt-Programme auf ein und das selbe Passwort verschiedene Ergebnisse aus?
Ach ja, noch was:
in der http.conf des servers folgende Stelle entsprechend ersetzten:
This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
AllowOverride All
#
# Controls who can ge...
Kann auch auf AuthConfig gesetzt werden.
Downline 23-11-2001, 16:12 Also ich habs probiert aber es funzt nicht! Hier kurz die Daten!
Apache Webserver unter : C:\Webserver\Apache\Apache\htdocs
.htaccess im Verzeichnis C:\Webserver\Apache\Apache\htdocs\Intern\Projekt
Die Änderung habe ich in der httpd.conf vorgenommen wie beschrieben und auf all gesetzt! Wenn er nun auf eine Datei in diesem Verzeichnis Projekt zugreift, funktioniert dies ohne Passwortabfrage! ???????
Kein Backslash, schließlich führt hier ja apache das Regiment!
Server und Seite (!) schließen und frisch starten nicht vergessen.
Dann kann's eigentlich höchstens noch am Verzeichnis liegen, in dem sich apache befindet, oder an anderen Einstellungen oder Modulen (kenn' ich mich nicht so aus, ich habe das phptriadsetup2-11.exe heruntergeladen, da waren einige Einstellungen schon vorkonfiguriert).
|
|