Loginsystem mit SID und Cookies

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

  • Loginsystem mit SID und Cookies

    Hi alle zusammen

    Als allererst möcht ich mich bedanken, die die mir hier helfen. Danke.

    So, jetzt zu meinem Problem. Ich versuche es möglichst präzise zu dokumentieren. Ich hab natürlich erst das ganz Forum auch auf andere page nach tutorials gesucht. Bin aber nichts fündig geworden, daher hab ich mir entschlossen, hier ein thema zu erstellen.

    Hintergrund:

    Ich bin seit mehr als 3 Monate am CMS zu programmieren. Ich bin auch kein absoluten Profi, würd ich niemals sagen.
    Jetzt ist eben der login dran. Doch ich hab da keine Ahnung wie das gehen soll.

    Hintergedanke zum login

    *register.php*
    Was ich mir aber dabei gedacht habe oder wie das ganze aussehen soll.
    Es gibt 5 Userlevel. Gast, User, Member, Mod und Admin. (es muss natürlich beliebig erweiterbar sein). Also, ein user registriert sich. Er hat den Userlevel standart auf 2 (User).

    *login.php*checklog.php*
    So, er logt sich ein und somit bekommt er eine SID, dieser SID speichert sich in der Datenbank der Tabelle ATS_User in der Spalte SID.

    Dann checkt der ob er bereits ein Cookie hat, wenn nicht erstellt er ein Cookie mit der inhalt, SID, USER, USERLEVEL, URL. (verschlüsselt)

    LIVETIME:

    SID= 1800
    Cookie = 3600

    So, dieser informationen sollte im laufe allerseite irgendwo gelagert sein. Denn wenn der user zum beispiel ins forum geht oder in gästebuch, muss er sich nicht mehr einlogen, sondern er hat diese rechte. Vergleichbar mit Windows einlogen.

    Problemlösung

    So, wie sollte ich vorgehen, wie sollte ungefähr das scriptdesign aussehen. Ich verlange von niemand, dass man für mich ein script schreib, denn ich möchte das selber machen. Was ich aber möchte ist, wie das Loginsystem aussehen soll, bzw. das scriptdesign. Denn, ich hab da keine ahnung wie das aussehen soll, weiss zwar was login und der spätere verlauf machen müsste, weiss aber nicht wie ich mit dem progen vorgehen soll.

    Ich danke euch für eure hilfe.

    Ich hab mir zur cms entschieden, weil ich hier am besten lernen kann und eine grosse herrausforderung ist. Naja, ich hoffe es kommt gut dabei raus.
    MFG CHRIS
    FlowFact AG

  • #2
    Hi,
    lies doch an Anfang der Dateien immer wieder die Daten von dem Cookie ein. Oder nutze vielleicht Sessions.
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      hmm.... hast du mein thread nicht alles gelesen?
      MFG CHRIS
      FlowFact AG

      Kommentar


      • #4
        hi.

        ich gehe mal davon aus, dass du ein wenig fit bist....

        zuerst legst du dir eine tabelle für die GRUPPEN an. mod/admin/user....

        dann eine tabelle, in der alle rechte deiner seite stehen.
        - forum lesen
        - forum schreiben
        usw.

        diese beiden tabellen verbindest du mit einer 1:n zwischentabelle.

        jetzt hast du gruppen und die rechte in den gruppen.
        z.b. admin darf lesen/schreiben
        aber user darf z.b. nur lesen.

        dann machst du dir eine tabelle für alle benutzer.
        dort steht dann der name, loginname, loginpasswd, usw drin.
        aber das wichtigste, was da rein muss ist die gruppe, in der der user ist.

        das ist eigentlich schon alles.

        bei jeder seite machst du eine anfrage an die DB. dann weisst du welcher user es ist, und welche rechte er besitzt.

        das sollte dir schon mal weiterhelfen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          vergiss nihct, dass das PW in der DB MD5 verschlüsselt sein sollte ..
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            jo, für die verschlüsselung hab ich mich für die base64 entschieden. ist einiges sicherer als der md5. Oder?
            MFG CHRIS
            FlowFact AG

            Kommentar


            • #7
              ich glaube, dass MD5 das beste ist...

              ich weiß zwar nicht genau, wie sicher base64 ist... aber md5 kann man z.b. nicht mehr entschlüsseln - wichtig, falls es mal nen hack gibt oder ähnliches

              dann musste beim login allerdings auch das eingegebene passwort zwischendurch mit md5 verschlüsseln und den wert mit dem wert in der db vergleichen!

              also: $passwort = md5($passwort)
              if ($passwort == $passwort_db)
              { login = correct }

              Kommentar


              • #8
                jo, für die verschlüsselung hab ich mich für die base64 entschieden. ist einiges sicherer als der md5. Oder?
                ARgh..

                base64 ist keine Verschlüsselung. Base64 ist dazu da, um z..b. Binäre Daten so zu formatieren, dass man sie problemlos überall speichern kann.
                Base64 bietet keinerlei Sicherheit.

                Wenn Du Dir Gedanken um die Sicherheit deiner Userauthentifikation machst, musst Du sehr viel weiter gehen.
                Passwörter solltest Du nicht im Klartext in der Datenbank ablegen. Am besten du benutzt eine Einweg-Hash-Funktion wie MD5 oder SHA-1. MD5 bietet den Vorteil, dass es schon direkt in php implementiert ist und auch sicher ist.

                Das nächste Problem ist, dass das Passwort zur Überprüfung im Klartext zum Server übertragen wird. Das kannst Du umgehen, indem du SSL einsetzt oder auf Zero Knowledge oder Challenge-and-Response Protokolle setzt. Dazu kannst Du ja mal googlen.
                [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                © Harald Schmidt

                Kommentar

                Lädt...
                X