Einzelne Website mit passwort schützen?
Danke schon Einmal im Vorraus :-)
7 Antworten
Einzelne Website mit passwort schützen?
Da es sich um unkritische Daten handelt hier ein einfaches Vorgehen um die Datei otto.html zu schützen. Dazu erstellst Du eine Datei namens .htaccess mit folgendem Inhalt
<FilesMatch "otto.html">
AuthName "Nur für Otto"
AuthType Basic
AuthUserFile .htpasswd
require valid-user
</FilesMatch>
und speicherst diese in das Verzeichnis ab, in dem die Datei otto.html liegt. Als nächtes gibst du auf der Seite http://www.htaccesstools.com/htpasswd-generator/ den gewünschten Benutzernamen und das gewünschte Passwort ein. Angenommen Benutzername sei 'otto' und Passwort sei 'geheim'. Dann wird dir dieser Code generiert:
otto:$apr1$YNg5qmBt$4LujF8e6vT.ut1HoQUMC1/
Diesen Code schreibst Du in eine Datei namens .htpasswd und speicherst sie ab in das Verzeichnis in dem die Datei .htaccess liegt (das ist nicht 100% sicher, reicht aber für Deine Zwecke). Dann lädst Du alles auf Deinen Server. Und ab sofort kann die Datei otto.html nur noch aufgerufen werden, wenn jemand "otto" als Benutzer und "geheim" als Passwort eingibt.
Alex
Einzelne Website (...) um nur diesen einen Bereich, (...)
Darin sehe ich einen Widerspruch, es sei denn, du hast deine Webseite in Frames unterteilt, was ich aber nicht hoffe.
Um einzelne Seiten zu belegen, kannst du über den Webserver eine Basic Authentication einrichten. Je nachdem, welchen Webserver du nutzt, gestaltet sich dies anders. Für den Apache HTTP Server kannst du diverse Online Generatoren (wie z.B. diesen) zu Hilfe nehmen.
Um nur einzelne Bereiche zu schützen, solltest du bei Request in deiner Webanwendung zunächst den Nutzer prüfen und somit entscheiden, ob die angeforderten Informationen ausgegeben werden oder nicht.
Passwortsichern wirst du nicht mit HTML hinbekommen.
Hierzu brauchst du jedenfalls PHP.
Eine Idee wäre eine frei zugängliche Startseite mit dem Hauptmenü, wobei die Seiten, die mit Passwort gesichert werden sollen, über eine .htaccess und .htpasswd gesichert wird.
Bei weiteren Fragen kommentiere gerne
Dann demonstriere mal bitte deine Ordnerstruktur und die Inhalte der .htaccess und .htpasswd... Welchen Webserver nutzt du?
Ich habe es erst mit php getestet, da kommen fehlermeldungen, ich bin per ftp auf einem infinityfree server
Wie gesagt, .htaccess wäre vermutlich die bessere Wahl.
Wenn der Webserver auf Apache läuft, dann kannst du mit .htaccess arbeiten.
AuthType Basic
AuthName “Geheim“
AuthUserFile /var/.htpasswd
Require user Netty
Und in der .htpasswd
Netty:$apr1$k70zr8ay$DF0OBc5FWSV7MAHLww7ty.
Hast du das manuell angelegt?
Falls ja, liegt die .htpasswd auch sicher in /var/? Bei einem Webserver hat man üblicherweise auf /var/ überhaupt keinen Zugriff.
Oh, ok, jetzt steht da /htdocs/Nachhilfe/Netty/.htpasswd
Aber es geht trotzdem nicht
Bei user steht btw
Require valid-user
require valid-user passt schon.
Mach einen relativen Pfad aus /htdocs/Nachhilfe/Netty.
Wenn du nicht weißt wie das geht, musst du mir noch sagen in welchem Verzeichnis deine .htaccess liegt.
Die htacces liegt bei
/htdocs/Nachhilfe/Netty/.htacces
Htpasswd liegt im selben unterordner und die zu schützende index.html auch
dann reicht es einfach in der .htaccess als Pfad .htpasswd einzutragen.
Die .htpasswd im öffentlich zugänglichen Ordner zu halten ist übrigens keine gute Idee, aber bei einem angemieteten Webserver hat man keine andere Möglichkeit, sofern der Webserver das nicht nativ unterstützt.
Muss ich in die zu schützende datei auch etwas schreiben? Es passiert einfach nix. Wenn ich die seite lade wird kein passwort abgefragt :(
Kann ich dir irgendwo privat schreiben? Da kann ich dir meine ftp daten mal geben, dass du selbst mal nachschauen kannst 😅
Ohne PHP oder MySQL wird das Passwort einfach offen im Quelltext stehen.
Das geht nur für die gesamte Seite, aber nicht für einen Teil, so wie er es am Anfang gewünscht hat (Einbinden mit div)...
Unterdessen hat sich die Fragestellung ja geändert, insofern ist die .htpasswd (bei einem Apache) durchaus eine gute Lösung :)
Ist ok für mich, muss nicht sicher sein, es geht eher, dass einfach “formal“ ein Nachhilfeschüler seine “eigene“ Seite hat, da steht nichts privates, da stehen seine aufgaben und das Wars auch schon wieder :-)
Eher als kleine Spielerei Gedacht ^^
Eigene Seite? Dann soll er doch seine eigene HTML Seite haben, wenn der Link nicht öffentlich ist, dann ist das doch genügend geschützt :)
Du könntest die Passwörter in einer Tabelle als bcrypt hasehs auf dem Server speichern und diese dann mit passwor_verifie in php überprüfen. Eine MySQL Tabelle bzw. Datenbank wäre jedoch sehr zu empfehlen.
Ich weiß nicht warum, aber wenn ich in den unterordner eine htacces und htpasswd reinpacke lädt er die seite trotzdem... :(