php-script für anmeldeprozedur ?

  • Hallo ihr Lieben

    Ich möchte eine Site passwortschützen.
    Eine .htaccess-Datei, um die Anmeldeaufforderung anzeigen zu lassen habe ich schon, mit diesem Text von Wikipedia abgekupfert (-:

    AuthType Basic
    AuthName "Administrationsbereich"
    AuthUserFile /usr/admin/web/.htusers
    AuthGroupFile /usr/admin/web/.htgroups
    Require user Benutzer1 Benutzer2 Benutzer3
    Require group Administratoren

    Könnte mir jemand erklären, wie der php-script lauten müsste ?
    Und auch, wie ich die Datenbank bestücke,
    denn ich habe mit Datenbanken noch nie gearbeitet und weiss nicht, wo was und wie hinkommt.

    Danke für jede Hilfe :)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis:

  • Du hast das nicht verstanden Quirk...

    Wenn du htaccess einsetzen willst, kannst du KEINE Anmeldeaufforderung in die Webseite einbauen (bzw. es geht schon, ist aber sau kompliziert und würde ich auf keinen Fall so machen)!

    Wenn du eine Anmeldeaufforderung in eine Webseite einbauen willst, und das Ganze mit PHP und mySQL machen willst, solltest du aber schon ein paar Vorkenntnisse mitbringen, so einfach ist das nämlich nicht.
    Schonmal über ein Buch zum Thema PHP nachgedacht?

  • Ojeeeeeeee
    Ganz offensichtlich hab ich es nicht verstanden. :oops:
    Ich stehe anscheinend auf der Leitung. :wink:

    Also:
    Mir ist nicht klar, wie und wo ich dieses ominöse Passwort mit dazugehörigem Usernamen überhaupt definieren kann ? Ich dachte, dafür sei ein Datenbankeintrag zwingend notwendig. Bin ja ganz froh, wenn php NICHT nötig ist.

    Schreibe ich es in den Text der .htacess-Datei selbst ?
    Habe es schon probiert. Obwohl ich bisher nur eine Möglichkeit für "user" erkennen kann, aber wo das Passwort hinkommen könnte und wie man es als solches deklariert, erkenne ich noch nicht. Gut, ich kämpf mich dann mal weiter durch Wiki, werds schon noch irgendwie rauskriegen. (-;


    Danke
    LG

    *

  • Ja, ist tatsächlich ganz easy :D

    Aber was mir trotzdem Probleme bereitet, ist der Pfad zur Passwortdatei.
    Ich habe schon alles Mögliche durchgetestet: vom Ablegen in den selben Ordner wie die htaccessdatei ohne Pfadangabe - bis hin zum Ablegen in diverse Ordner auf dem Server mit kompletter Pfadangabe, mit und ohne Dateiendungsangabe und vieles mehr.

    Klappt alles nicht. :(

    Es soll " der vollständige absolute Pfadname" angegeben werden.
    Dieser ist "nicht der Pfad ab dem Wurzelverzeichnis des Webprojekts".

    Nun weiss ich mal wieder nicht weiter :D
    Bleibt nur zu hoffen, dass mir der Provider sagt, wo das Ding hin soll und wie der Pfad lautet. ToiToiToi. Oder haste zum Pfadermitteln noch einen guten Tip ? Habe schon verschiedene Anleitungen durchexerziert, da steht jedenfalls nix weiter drin ...

    *uff*
    LG
    Quirk

  • Hallo, insofern dein Server php beherrscht. Kannst du den rootpath einfach mittels $_SERVER['DOCUMENT_ROOT'] ermitteln. Dann einfach nur noch dann ab da an bis zu deiner htpasswd hinzufügen und dann sollte das funzen.

    Erstelle dir eine Textdatei, kopiere folgendes dort hinein, speichere diese
    dann als showRoot.php. Uploade sie auf dein Web hoch. Rufe die Datei dann einfach im Browser auf.

    PHP
    <?php
       //Server-Root-Path ausgeben lassen
       //Aufruf im Browser
       //Dateiname: showRoot.php
        echo $_SERVER["DOCUMENT_ROOT"];
    ?>


    Sample Ausgabe: /var/usr/home/web12/htdocs
    daran einfach dann noch den pfad anhängen bis zu deiner .htpasswd
    Tipp: Insofern vorhanden kann man auch ganz schnell mittels der PHP-Funktion phpinfo(); sich sämtliche Serverdaten (phpbezüglich) ausgeben lassen ;)

  • :danke2: Hi Murray, super Tip !

    Das ist ja praktisch (-: , den Pfad habe ich nun also.
    Leider klappt die Anmeldung immer noch nicht nicht, ich kann mich partout nicht einloggen.
    Schreibfehler im Script kann ich nicht finden .... Das Passwort habe ich mit dem Generator beim Webdoctor erstellt. Wenn das kein Murx ist, sollte die pw-Datei eigentlich auch korrekt sein.

    Ayayayaaay
    Aber ich gebe nicht auf :sieg:


    *

  • #

    Habe den Provider angemailt, wird schon noch klappen.

    EINE WICHTIGE FRAGE HÄTTE ICH NOCH :
    Ich möchte das so machen, dass ich nur EINEN User mit Passwort erstelle und den dann an mehrere Leute weitergebe. Es würden nicht viele Leute sein, aber trotzdem wärs praktischer, als für jeden ein extra- Login zu erstellen.
    Kann man das so machen oder würde es Probleme geben, falls mehrere Leute gleichzeitig auf der Site unterwegs sind ?


    *

  • Warum löst du das ganze nicht einfach per PHP? Wenn es tatsächlich nur einen Benutzer geben soll (also keine individuelle Registration) kommst du sogar ohne Datenbank aus
    Ich würde sowas mit Sessions lösen
    Ich hab mal was zusammengeschustert, vllt reicht es für deine Zwecke aus (sehr unsicher, aber um Bereiche für Neugierige zu schützen reicht es)

    Die Datei heißt login.php

    Wenn du eine Weiterleitung zu einer externen Datei vornimmst, müsstest du in dieser noch abfragen, ob der Benutzer eingeloggt ist oder nicht

    PHP
    <?php
    session_start();
    	if ($_SESSION['login'] == TRUE) {
    
    		// Hier der interne Inhalt
    
    	} else { echo "Bitte zuerst einloggen!"; }
    ?>

    Falls nicht, kannst du das Session-Gedöhns aus dem oberen Code entfernen. Code ist ungetestet, müsst aber so laufen
    Eine logout-Funktion ist eher unnötig, weil eine Session (je nach Einstellung) nach 20min oder beim Browser beenden ghelöscht wird.

    Und auch bei dieser Lösung können sich beliebig viele Leute gleichzeitig auf der Page befinden!

    Dient nur als Anregung...wenn du mit .htaccess glücklicher bist, ist auch ok :)

    mFg
    K. R. Eyden

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!