Soße: optimale lösung für adminberreich ?

Halle,

ich poste euch jetzt mal meinen lösungsvorschlöag für einen adminberreich:

index.php:

<?php
// Session starten
session_start();

if ($user != '' && $pass != '') // Abfrage der Daten
 {
  $file = "user/geheime-".$user."-datei"; // File deklaration
  if (file_exists($file)) // Abfrage, ob die Datei bzw. der User existiert
  {
            $data = fopen($file, "r"); //File öffnen
            $usertxt = fread($data, filesize($file)); //File lesen
            fclose($data); // File schließen

if ($pass == $usertxt) // Passwortabfrage
   {
    //logged on !
    $status = 'logged_on';
    $userlog = $user;
    $passlog = $pass;

session_register("userlog");
    session_register("passlog");
    session_register("user");
    session_register("pass");
    session_register("status");
   }
   else
   {
    print "Falsches Passwort";
   }
  }
  else
  {
   print "User Existiert nicht";
  }
 }
 else
 {
  // Weder Username noch Passwort ist gegeben
  print "None Login";
        print "<FORM METHOD=POST ACTION="index.php">";
        print "<INPUT TYPE="text" NAME="user" value="user"><br>";
        print "<INPUT TYPE="password" NAME="pass" value="pass">";
  print "<INPUT TYPE="submit" value="send">";
        print "</FORM>";
 }

// Eigentliche Seite
if ($status == 'logged_on' && $userlog == $user && $passlog == $pass)
{
 print "Mein Memberbereich<br>";
 print "<a href="seite2.php">weiter zu Seite 2</a>";
}
?>

-----------------------------------------------------------------

seite2.php:

das selbe wie index.php

-----------------------------------------------------------------

ist das die optimale lösung oder gibts an dem hier noch was auszusetzen ?

Danko

  1. Halle,

    ich poste euch jetzt mal meinen lösungsvorschlöag für einen adminberreich:

    toll!

    was hält mich davon ab im user-Unterordner nach Dateien zu suchen und mir diese anzuschauen(downzuloaden) ?

    Mächte für mich nur sinn, wenn "user/" nicht public wär

    wozu steht in der seite2.php genau das selbe drin? vor allem session_start() etc..
    für die Folgeseiten sollte es ein Include geben, welches die Loginseite aufruft, wenn die Session-Variablen nicht gesetzt sind...

    Wird das wieder so ein Test wie neulich??

    Tschö, Frank

    1. Halle nochmal !

      toll!

      ich weiß

      was hält mich davon ab im user-Unterordner nach Dateien zu suchen und mir diese anzuschauen(downzuloaden) ?

      die index.htm/index.php !

      Mächte für mich nur sinn, wenn "user/" nicht public wär

      was ist public ?

      wozu steht in der seite2.php genau das selbe drin? vor allem session_start() etc..

      damit habe ich gerechnet dass die frage kommt ! geht es oder geht es so nicht ? wenn einer die seite2.php als erstes aufruft, soll er doch auch abgefragt werden, oder nicht !

      für die Folgeseiten sollte es ein Include geben, welches die Loginseite aufruft, wenn die Session-Variablen nicht gesetzt sind...

      wie geht das ?

      Wird das wieder so ein Test wie neulich??

      nein.

      Das inclde macht mich neugierig, erzähl mir mal bitte mehr darüber.
      und was ist Public ?

      Danko

      1. was hält mich davon ab im user-Unterordner nach Dateien zu suchen und mir diese anzuschauen(downzuloaden) ?
        die index.htm/index.php !

        naja schon, aber wenn du den direkten pfad zu /user/geheime-datei kennst kommste ja nu trotzdem dran...

        Mächte für mich nur sinn, wenn "user/" nicht public wär
        was ist public ?

        public heißt im allgemeinen "für jeden zugänglich" s.o.
        versuchen kannste ja mal auf das user-verzeichnis per ftp auf 700 zu chmodden (also "nicht mehr public" machen, public ist meistens 750 oder für dateien 740)
        meistens hast du dann vom web aus keinen zugriff mehr auf /user aber von lokalen skripten schon

        wozu steht in der seite2.php genau das selbe drin? vor allem session_start() etc..
        damit habe ich gerechnet dass die frage kommt ! geht es oder geht es so nicht ? wenn einer die seite2.php als erstes aufruft, soll er doch auch abgefragt werden, oder nicht !
        für die Folgeseiten sollte es ein Include geben, welches die Loginseite aufruft, wenn die Session-Variablen nicht gesetzt sind...
        wie geht das ?

        du schreibst einfach eine datei mit php-code (mit php-tags, sonst wirds nix) und gibst dann in seite2 ganz oben require_once "datei.php"; ein und schon tut php so als ob der inhalt von datei.php genau da stehen würde wo das require-statement steht

        1. Ok, aber im prinzip geht das jetzt auch so, oder ?
          und wegen dem ordner - es kann ja ein ordnername sein zb. sdhakjsdgh den sich keiner ausdenken kann und in den php-quelltext kann ja auch keiner nachschauen.
          also !
          aber das mit dem include ist ne tolle idee !

          Danko

          1. Gugucks Soße,

            Ich habe deinen Ablauf nicht so recht durchblickt, aber eine Sache solltest du in jedem Falle noch ändern: Du registrierst das Passwort des Users in der Session, und das ist nicht nur überflüssig, sondern auch ein potentielles Sicherheitsrisiko.

            Liebe Grüße, Uschi

  2. Hi,

    ist das die optimale lösung

    für welche Aufgabenstellung?

    oder gibts an dem hier noch was auszusetzen ?

    Was hältst Du von null Zeilen Code und Verwendung eines etablierten Authentifizierungsverfahren? Eigenbau ist nur dann anzuraten, wenn wichtige Gründe gegen den Einsatz von Standards sprechen.

    Viele Grüße
          Michael