Einfache Zugangskontrolle per PHP?



  • Hallo,

    wie kann ich eine einfache Zugangskontrolle per PHP realisieren? Es sollte nur ein Passwort ggf. später auch Benutzername) eingegeben werden und per Cookie der Zugriff bis zum logout gewährleistet sein. Probiere die ganze Zeit rum, komme aber auf nix gescheites... Gips da eventuell irgendwas fertiges?

    <?php
      /* hier noch Kopfbereich ausgeben */
      session_start();
    
      $password = "foofoo";
    
      if(isset($_POST['loginPassword']))
      {
        if($_POST['login_password'] == $password)
          $_SESSION['admin'] = true;
        else
           echo "login failed";
      }
    
      if(!$adminMode == true)
      {
    ?>
      <form action="<?php echo basename($_SERVER["PHP_SELF"]); ?>" method="post" enctype="text/plain">
        Passwort: <input name="loginPassword" type="password" size="40" maxlength="60" />
        <input type="submit" value="Abschicken" />
      </form>
    <?php
      }
      /* hier noch Fußbereich ausgeben */
    ?>
    


  • willst du das ganze per sql machen oder irgend welche andere dateien wo das pw drin steht haben?

    leg doch einfach ein pw in einer datei ab, beim einloggen überprüfe ob das eingegebene pw = dem pw in der datei ist und wenn ja setze irgend eine variable auf true! mit cookies würde ich nicht arbeiten, arbeite lieber mit Sessions!

    ne genauere erklärung kann ich dir heute abend oder morgen sagen...



  • @Foofoo,

    bei meiner letzten Anwendung habe ich
    es mit GET Variablen realisiert.
    Also Hash vom Nutzernamen und Passwort
    wurde dabei mit jeder Seite mitgeschleift.
    Ist natürlich nicht immer das beste.

    Die Idee von CeNoRiDeR mit dem Flag in einer
    Datei bzw. Datenbank ist auch nicht schlecht.
    Cookies haben immer den Nachtei, dass
    die nicht jeder Nutzer zulässt.

    Bye Peter.



  • Hallo,

    nimm mal das script, am besten erstelltst du dir eine neue datei
    kopierst das script rein und includierst das in deinen body bereich
    deiner bestehenden seite.

    <html>
    <title></title>
    <body>
    <?php include("dasscribtineinerdatei.inc.php")
    
    if (isLoggedIn()) //ich bin eingeloggt
    {
      //hier kommt deine Adminseite
    }
    else //isch bin nicht eingeloggt
    {
      //hier kommt der text der normalsterblichen
    }
    ?>
    </body>
    </html>
    

    die funktion isLoggedIn() übergiebt true falls du eingeloggt bist

    <?php
    session_start();
    $loginname = "admin";
    $password = "admin";
    
    function ViewLogin() {?>
    <div style="position:absolute;top:300px;">
    <form method="post">
    Login: <input type="text" name="user"></input><br>
    Passwort: <input type="password" name="pwd"></input><br>
    <input type="submit" value="login"></input>
    </form>
    </div>
    <?php
    }
    
    function ViewLogout()
    { ?>
    <a style="position:absolute;top:300px;" href="?logout=true">logout</a>
    <?php }
    
    function isLoggedIn() {
        if ($_SESSION["login"] == "true")
            return true;
        else
            return false;
    }
    
    // Ausloggen wurde angeklickt
    if ($_GET["logout"] == "true") {
        session_unregister("login");
    }
    
    if (isLoggedIn()) {
        ViewLogout();
    }
    else
        if (md5($_POST["user"]) == md5($loginname) && md5($_POST["pwd"]) == md5($password)) {
            session_register("login");
            $login = "true";
            header("Location: ?site=home");
        }
        else
            ViewLogin();
    ?>
    

    mfg
    VergissEs


Anmelden zum Antworten