Einzelne Website mit passwort schützen?

7 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
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

Woher ich das weiß:Berufserfahrung
ChiefofGame 
Fragesteller
 30.08.2019, 09:03

Ich weiß nicht warum, aber wenn ich in den unterordner eine htacces und htpasswd reinpacke lädt er die seite trotzdem... :(

0
webdesignnoobie  30.08.2019, 09:05
@ChiefofGame

Dann demonstriere mal bitte deine Ordnerstruktur und die Inhalte der .htaccess und .htpasswd... Welchen Webserver nutzt du?

0
ChiefofGame 
Fragesteller
 30.08.2019, 09:13
@webdesignnoobie

Ich habe es erst mit php getestet, da kommen fehlermeldungen, ich bin per ftp auf einem infinityfree server

0
webdesignnoobie  30.08.2019, 09:16
@ChiefofGame

Wie gesagt, .htaccess wäre vermutlich die bessere Wahl.
Wenn der Webserver auf Apache läuft, dann kannst du mit .htaccess arbeiten.

0
ChiefofGame 
Fragesteller
 30.08.2019, 09:21
@webdesignnoobie
AuthType Basic
AuthName “Geheim“
AuthUserFile /var/.htpasswd
Require user Netty

Und in der .htpasswd
Netty:$apr1$k70zr8ay$DF0OBc5FWSV7MAHLww7ty.
0
webdesignnoobie  30.08.2019, 09:24
@ChiefofGame

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.

0
ChiefofGame 
Fragesteller
 30.08.2019, 09:27
@webdesignnoobie

Oh, ok, jetzt steht da /htdocs/Nachhilfe/Netty/.htpasswd

Aber es geht trotzdem nicht

Bei user steht btw

Require valid-user

0
webdesignnoobie  30.08.2019, 09:29
@ChiefofGame

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.

0
ChiefofGame 
Fragesteller
 30.08.2019, 09:32
@webdesignnoobie

Die htacces liegt bei

/htdocs/Nachhilfe/Netty/.htacces

Htpasswd liegt im selben unterordner und die zu schützende index.html auch

0
webdesignnoobie  30.08.2019, 09:36
@ChiefofGame

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.

0
ChiefofGame 
Fragesteller
 30.08.2019, 09:59
@webdesignnoobie

Muss ich in die zu schützende datei auch etwas schreiben? Es passiert einfach nix. Wenn ich die seite lade wird kein passwort abgefragt :(

0
ChiefofGame 
Fragesteller
 30.08.2019, 10:05
@webdesignnoobie

Kann ich dir irgendwo privat schreiben? Da kann ich dir meine ftp daten mal geben, dass du selbst mal nachschauen kannst 😅

0

Ohne PHP oder MySQL wird das Passwort einfach offen im Quelltext stehen.

ChiefofGame 
Fragesteller
 30.08.2019, 09:01

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 ^^

0
Salzstreuer4You  30.08.2019, 09:12
@ChiefofGame

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 :)

0
Tyldu  30.08.2019, 09:08

nein, das stimmt nicht.

0
Salzstreuer4You  30.08.2019, 20:15
@EinAlexander

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 :)

0

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.

Woher ich das weiß:Studium / Ausbildung – Informatikstudent