PHP-eingeloggt sein um seite anzuschauen

  • moin...

    ist es möglich, eine seite... z.B.

    https://www.forum-hilfe.de/posting.php?mode=newtopic&f=52

    nur zu sehen, wenn man eingeloggt ist?


    also man loggt sich ein sieht den link zu der seite....
    --ist nicht eingeloggt sieht die seite nicht....

    mein problem besteht darin das das über php kein ding ist,

    aber wenn ich die direkte url eingebe, komme ich trozdem auf die seite, auch wenn ich nicht eingeloggt bin....

    gibt es da eine möglichkeit?

  • einfach in der seite eine abfrage einbauen ob man eingeloggt ist ;)
    wenn nicht, gibst du einen fehler aus

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Normal setzt man beim Login ja Sessions und dann kann man in die ersten Zeilen jeder Seite die man schützen will einfach eine Überprüfung der Sessions machen
    z.B. so

    Code
    if ($_SESSION['logged_in'] != "jaa")
    {
      die("Du hast keinen Zugriff");
    }

    Man muss nur vorher die jeweilige Session Variable gesetzt haben.
    Am besten du liest dich mal bisschen schlau.

    Gruß crAzywuLf

  • Nicht unbedingt, da es auch false beinhalten könnte.
    Also besser:

    Code
    if (isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true)
  • Zitat von No0ob

    Nicht unbedingt, da es auch false beinhalten könnte.


    Nö, wieso? Wenn man sich eingeloggt, wird die session-variable gesetzt und beim logout einfach mit unset löschen.

  • Kommt drauf an, wie er das geregelt hat^^
    Ich hab zum Beispiel den Log-In nur im cookie gespeichert und mach gar nichts mit Sessions

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Zitat von Dodo

    jop, aber auch unsicherer wegen session-hijacking


    Jau, wenn man es falsch programmiert :D

  • sorry leute... ich blick nit durch... bin blutiger anfänger.....

    hab von php so gut wie keine ahnung....
    habe die aufgabe die seite zu betreuen.....
    und nun ist mir dieses halt aufgefallen....

    kann mir jem, ein fertiges script schicken?

    wo ich mir das dann rauslesen kann?
    ich wills ja auch lernen und selbst rausbekommen so ises nich ^^

    aber ich denke da muss ich weiter vorne anfangen....

    aber ich stehe halt nun vor diesem problem....

    wir bekommen ca 1000 besucher pro tag, was nicht möglich sein kann.... unregistrierte benutzer greifen auf seiten zu, die sie nicht sehen können... nur über direkte url eingabe wäre es möglich....

    bitte um hilfe

  • also wenn die User durch eine Sessin eingeloggt bleiben würde ich das so machen:

    Die kopierst in deine Seite, die geschützt sein sollte

    Code
    if(!isset($_SESSION['ID']))
      die('Sie haben hier keinen Zugriff');

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Zitat von Knaufi

    bin blutiger anfänger.....

    Zitat von Knaufi

    hab von php so gut wie keine ahnung....

    Zitat von Knaufi

    habe die aufgabe die seite zu betreuen.....


    Wenn das mal keine geniale kombination ist....

    Zitat von Knaufi

    kann mir jem, ein fertiges script schicken?


    Da gibt es massenhaft tutorials zu, aus denen du das inkl. erklärungen herrauslesen kannst.

    Zitat von Knaufi

    wir bekommen ca 1000 besucher pro tag


    Da stellt sich mir schon die frage, warum ausgerechnet du die seite betreust

    Also mal eine kurzform

    PHP
    <?php
       session_start(); // Diese Zeile muss in jeden Script an den Anfang
    
    
       // In dem Script, wo die Login-Daten geprüft werden, schreibst du bei erfolgreichem Login
       $_SESSION['logged'] = true;
    ?>


    In allen Scripten, die geschützt werden sollen:

    PHP
    <?php
       session_start();
    
    
       if (! isset($_SESSION['logged']))
       {
           header ("Location: http://www.domain.de/login.php");
           exit;
       }
    ?>


    Sollte es ein Logout geben, schreibst du rein:

    Code
    session_start();
       unset ($_SESSION['logged']);
  • sry... aber ich komm nit drauf....

    unter

    <head>
    oder
    wo muss ich das einfügen?


    z.b. diese seite.. habse halt verändert.....

    jetzt sehen nur die leute die eingeloggt,
    sind unter galerie den link videos was auch so sein soll

    ich denke ihr versteht schon wie ich das meine, ich aber nich wie ich es anstellen soll.....