Userbereich - Erweiterung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Userbereich - Erweiterung

    Hallo, ich habe erfolgreich mittels diverser Bücher und Tutorials eine "einfache" Benutzerverwaltung mit MY-SQL basierend geschützem Bereich erstellt. Nun will ich aber, dass alle Verzeichnisse eines bestimmten Bereichs nur für die angemeldeten Benutzer sichtbar sind, alle anderen bekommen eine Fehlermeldung ausgegeben.

    Mein Problem:
    1) Idee - wie muss ich hier rangehen
    2) Quellcodeansätze wären nicht schlecht, ich entwickle gerne weiter, habe aber ein Brett vorm Kopf und benötige kreative codeansätze.

    Also das Verzeichnis x als Blatt soll geschützt werden, das Login-Verzeichnis ist Vater des Blattverzeichnisses mit dem Login-Script.
    Aber kein Schutz über htaccess - danke für hilfe
    ------------
    man wächst mit seinen aufgaben

  • #2
    Hat nichts annähend etwas von einem konkreten PHP-Problem. *verschieb* dich mal ... [EDIT:Ein anderer war schneller]

    htaccess wäre der sinnvollste schutz eines verzeichnis. PHP-Seitig kannst du verzeichnisse nicht schützen. Außer du entfernst die Leserechte .

    Pseudoschutz über mod_rewrite wäre ne möglichkeit. Effektivität ist da so ne sache.
    Zuletzt geändert von TobiaZ; 25.10.2005, 17:47.

    Kommentar


    • #3
      User-Bereich Schutz

      Hallo, ich habe erfolgreich mittels diverser Bücher und Tutorials eine "einfache" Benutzerverwaltung mit MY-SQL basierend geschützem Bereich erstellt. Nun will ich aber, dass alle Verzeichnisse eines bestimmten Bereichs nur für die angemeldeten Benutzer sichtbar sind, alle anderen bekommen eine Fehlermeldung ausgegeben.

      Kennt da vielleicht jemand ein Tutorial zu oder hat auch schon ein wenig Quelltext dazu verfügbar?

      Also das Verzeichnis x als Blatt soll geschützt werden, das Login-Verzeichnis ist Vater des Blattverzeichnisses mit dem Login-Script.
      Aber kein Schutz über htaccess - danke für hilfe
      ------------
      man wächst mit seinen aufgaben

      Kommentar


      • #4
        Du strickst dir einen Login (gibt's hier). Sobald ein User angemeldet wurde registrierst du eine Session Var
        PHP-Code:
        $_SESSION['user'] = 'blabla'
        Au jeder zu schützenden Seite prüfst du einfach ob
        PHP-Code:
        isset($_SESSION['user']); 
        true ergibt. Wenn ja dann ist der User berechtigt die Seite anzuschauen wenn ned dann
        PHP-Code:
        header('Location: http://www.meine-domain.tld/index.php');
        exit; 
        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Das erste mal in einem Forum? Der Anzahl deiner Postings nach zu Urteilen nicht. Was sollen also die Crosspostings???

          Kommentar


          • #6
            @jahlives
            natürlich... es werde licht, schreib dir heut Abend, wenn ich es hinbekommen habe

            @TobiaZ
            verpeiltheit ist manchmal keine Tugend, aber da machste nix
            ------------
            man wächst mit seinen aufgaben

            Kommentar


            • #7
              @jahlives
              nochmal kurz: ich mache das jetzt so, dass ich auf jeder Seite Session_start(); mache, dann ne if-Abfrage gekoppelt mit isset und bei true wird die Seite freigeschaltet, bei false nicht.
              ------------
              man wächst mit seinen aufgaben

              Kommentar


              • #8
                <?php
                session_start();

                if (isset($_SESSION['userid']))
                {
                echo "Authorisiert";
                else// Hier soll der Fehler sein
                header('Location: http://www.xxx.com/login.php');
                exit;
                }
                ?>
                ------------
                Sorry, aber in der Zeile 7 soll ein Fehler sein, keine Ahnung wieso, Hochkommata sind korrekt. Aber ansonsten so korrekt? Also das soll jetzt immer auf die jeweilige Seite kommen.
                ------------
                man wächst mit seinen aufgaben

                Kommentar


                • #9
                  Wie wäre es mit { nach dem else und einer } zum Abschluss des if-Zweigs ???

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    hey danke leuts...is ja super, wozu man die SESSION überall benutzen kann.

                    bei mir isset jetzt so, dass nicht eingeloggte User die Nachricht bekommen "Nicht authorisiert" und zur Startseite zurückkommen, authorisierte dann alles ansehen können und beim Logout die Session zerstört wird. Aber reicht die Zuweisung der Session_id als Sicherheit aus? Wäre es sicherer mit IP als Info hinzu?
                    ------------
                    man wächst mit seinen aufgaben

                    Kommentar


                    • #11
                      Original geschrieben von schabicks
                      Aber reicht die Zuweisung der Session_id als Sicherheit aus?
                      Ja, im allgemeinen schon.
                      Wäre es sicherer mit IP als Info hinzu?
                      Nein. Warum die IP absolut nicht tauglich ist, um den Benutzer zu identifizieren, kannst du hier im Forum mehrfach nachlesen.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar

                      Lädt...
                      X