[PHP5] Login

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

  • [PHP5] Login

    Hallo alle zusammen,

    Ich arbeite gerade an einem Login ( Username + Passwort ), welchen ich für zukünftige Projekte einsetzen will.
    Jetzt grüble ich gerade über ein kleines Problem.

    Grundlage für den Login und die UserDaten ist eine Datenbank.
    Nun habe ich mir mal folgende Vorgehensweise gedacht.
    Grundidee ist eigentlich, dass die User aber auch eventuelle Admins nicht extra in irgendeine INI schauen müssen um dort die DatenbankZugänge einzutragen, damit der Login funktioniert.
    Desweiteren wollte ich ein "extra" schreiben eines Setups für das CMS umgehen und dachte mir folgendes:

    Ich frage beim betreten des Login ab, ob eine Datenbankverbindung steht. Ist dies zB. beim ersten Aufruf nicht der Fall, so kommt im Login ein zusätzlicher Link hinzu, über den man zu einer Seite gelangt, in denen man die wichtigsten Grundeinstellungen wie DB Daten oder den ersten SuperAdmin angeben kann. Diese werden in zB. der system.ini gespeichert und nochmals abgefragt. Sind nun korrekte DatenbankverbindungsDaten angegeben, dann legt das System schon im Loginbereich die Usertabelle + den ersten User an.

    Sind schon korrekte DatenbankDaten in der INI vorhanden, dann kommt dieser Link zu den Grundeinstellungen nicht und man kann sich direkt versuchen anzumelden.

    Problem bei der ganzen Geschichte ist eigentlich nur:
    Was passiert, wenn der Admin zwar korrekte DB Daten anlegt aber diese zB. nicht die sein sollen, die es sollen. Sprich... wenn er zB. eine falsche DB angegeben hat, die aber besteht.
    In dem Fall würde der Link nicht kommen und man ist gezwungen sich in dieser DB anzumelden ( in dieser dann auch alle weiteren tabellen angelegt werden ).

    Okay... die Grundeinstellungen sind dann evtl. doch ne Art kleines Setup. Das Problem was ich nun sehe ist, dass im ungünstigsten Fall mit einem Direktlink zu den Grundeinstellungen gelangen kann und diese abändern kann. Dies wäre natürlich ziemlich Fatal und blöd...

    Ich muss noch dazusagen, dass dieser Login kein Öffentlicher Login für Jederman wäre. Nur wäre er bei bekanntem Link natürlich auch ansprechbar.

    Meine Frage wäre nun, ob ihr ein paar Tipps oder Ideen hättet, wie man den Fall umgehen könnte, dass der Admin vom System unbedingt in irgendeine INI im System rein muss um dort die Daten anzugeben.

    Ich hoffe ihr wisst, worauf ich so ein bissel hinaus will.
    Bei echten Applikationen gehts ja meist auch anders.

    Mario

  • #2
    Mach es nicht komplizierter als notwendig.

    1. Auruf eines geschützten Bereichs,
    2. dein Script sucht nach INI,
    3. wenn keine zu finden
    3.0. dann Setup-Form anzeigen,
    3.1. Form ausfüllen
    3.2. INI speichern
    3.3. zurück zu 2.
    4. wenn INI gefunden
    4.0. Login-Form anzeigen
    4.1. Form ausfüllen
    5. mit Daten aus INI zu DB verbinden
    6. wenn Verbindung fehlschlägt
    6.0. weiter mit 3.0.
    7. Login-Daten prüfen
    7.0. wenn Login-Daten falsch
    7.1. weiter mit 4.0
    8. geschützten Bereich betreten

    Wo ist nun dein Problem?

    Kommentar


    • #3
      [PHP5] Login

      Hi onemorenerd,

      Soweit mach ich das auch alles.
      Mein Gedanke ging nur dahin, wenn mal Daten drin stehen, die zwar stimmen aber dennoch geändert werden müssten.
      Es wäre schön, wenn man dafür auch eine Art Formular oder sowas nutzen könnte. Dies darf dann natürlich kein Irgendwer öffnen dürfen.
      Das war eigentlich das worauf ich hinaus wollte.

      Mario

      Kommentar


      • #4
        Definiere "Daten die nicht stimmen". Wenn die Verbindung zur DB nicht aufgebaut werden kann, ist das Punkt 6 von oben.
        Wenn die Verbindung zwar aufgebaut werden kann, aber der Admin dennoch mal andere Daten (z.B. anderen Tabellennamen) in die INI schreiben möchte, dann muß er das entweder durch direktes Bearbeiten der INI-Datei machen oder du stellst einen Link bereit, der direkt bei Punkt 3.0. einsteigt.
        Wie du diesen Link sicherst bleibt dir überlassen. Mir fallen spontan mehrere Möglichkeiten ein:
        .htaccess
        Login ein letztes Mal gegen die alte Tabelle
        Masterpasswort in der INI
        Login gegen die DB-Zugangsdaten in der INI
        ....

        Kommentar


        • #5
          [PHP5] Login

          Hmm.. dein Punkt 3 war mir eben auch im Kopf.

          Das mit dem Masterpasswort, da streub ich mich meistens sowas zu machen. Auf der einen Seite kann man sagen.... ok... an die INI kommt ja eh keiner rann, da diese durch eine .htaccess geschützt wird.
          Auf der anderen Seite darf dieses auch keine Minute in fremde Hände gelangen. Das ist es auch, was mich davor zurück treten lässt.
          Wenn natürlich mal der Server voll gehäckt ist/wäre, dann wäre ja eh alles zu spät. Von daher auch wieder ein Punkt dafür.

          Ich glaube ich machs so, dass ich die bestehende Tabelle nutze und den SuperAdmin abfrage. Wenn ja, dann darf dieser was neues anlegen und damit die alten Daten überschreiben.
          Somit kann ich das weiterhin schön über meine Formulare machen.

          Mario

          Kommentar

          Lädt...
          X