Announcement

Collapse
No announcement yet.

Login mit Php & Mysql

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Login mit Php & Mysql

    Hi,

    ich bin Anfänger bschäfftige mich aber schon eine weile mit den Grundlagen. Ich will jetzt ein Login + Regestirerung "bauen" mit Mysql. Ich weiß das ich erstmal die Tabellen brauche und diese auch verknüpft sein müssen da bin ich gerade dran.
    Aber ich möchte wenn das über ein Formular eingegeben wird, das es Automtisch in Mysql eingepflegt wird. Idealerweise sollte auch gleich an die E.Mail Adresse ein bestätigung versandt werden. aber erst mal die erste Frage hat einer ein Tip oder eigene erfahrung wie ich das am besten mache ?
    Grüße

  • #2
    Programmieren musst du das. Das passiert nicht automatisch.

    Felder aus HTML-Formular lesen
    Eingabe validieren
    in DB schreiben
    Mail versenden
    Wenn alles ohne Fehler, OK-Meldung an Anwender
    Christian

    Comment


    • #3
      Hallo,
      Originally posted by molle82 View Post
      ...ich bin Anfänger bschäfftige mich aber schon eine weile mit den Grundlagen. Ich will jetzt ein Login + Regestirerung "bauen" mit Mysql.
      Wenn das eine reine Übungsaufgabe sein soll, dann ist sie gut geeignet dir den Spass zu verderben, weil es genügend Fallstricke und Hindernisse dabei gibt. Ist es ein "ernsthaftes" Projekt, welches auch online eingesetzt werden soll, dann ist das KEINE Aufgabe für einen Anfänger! Die Mechanismen sind komplex und die Fehler die man bezgl. Sicherheit machen kann, sind zahlreich.

      Wenn du es trotzdem versuchen willst, dann musst du es, wie von Christian angesprochen, Stück für Stück programmieren - EVA-Prinzip beachten. Schau dir Beiträge zum Thema "Affenformular" an und versuch als erstes die reine Eingabe, Validierung und Fehlerbehandlung umzusetzen, danach kommt die Speicherung der Daten in einer Datenbank.
      Achte von Anfang an auf ordnungsgemäße Maskierung und auf Schwachstellen für Code- und SQL-Injektion.

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Danke an euch beide schon mal,

        es ist eine ernsthafte Aufgabe und jeder Profi war mal Anfänger ;-)... keine Angst ich mach das Schritt für Schritt, darum fragte ich ja weil ich nicht wirklich was helfendes gefunden hab. Das Formular (dachte ich) hab ich soweit, Hab mir das Affenformular mal kurz angeschaut , werd mich jetzt erstmal damit beschäftigen. Ich werd mich hier bestimmt noch öfters mal melden ;-) DANKE schon mal vorab.
        Was ist das EVA Prizip? Sagt mir jetzt auf Anhieb gar nichts.
        Grüße

        Comment


        • #5
          EVA -> Eingabe - Verarbeitung - Ausgabe
          Christian

          Comment


          • #6
            Ah ja hab ich schon mal gelesen, danke

            Comment


            • #7
              Originally posted by molle82 View Post
              ...es ist eine ernsthafte Aufgabe und jeder Profi war mal Anfänger ;-)
              Das mag ja sein, bedeutet aber im Umkehrschluss nicht, dass sich jeder Anfänger an Aufgaben für Profis versuchen sollte .

              Originally posted by molle82 View Post
              ... keine Angst ich mach das Schritt für Schritt,
              ...
              Was ist das EVA Prizip? Sagt mir jetzt auf Anhieb gar nichts.
              Je nachdem was du hinter deinem Login verbergen willst, macht mir das Angst...

              Es gibt sehr viele Frameworks oder fertige Systeme, mit ausgefeiltem und sicherem User-Management!

              Gruß Falk
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment


              • #8
                Bei jedem Datenbankeintrag kann Schadcode eingeschleust werden - ob das nun eine Registrierung ist oder nicht. Solange er sich gut genug mit den Grundlagen beschäftigt und Sicherheit nciht aus dem Auge lässt, warum sollte er sich dann nicht daran probieren? Er wird wohl kaum bei einem Testprojekt 10.000 Kundendaten in der Datenbank haben, die ausgespäht werden können. Erst dann wäre es leichtsinnig einen Anfänger einzusetzen.

                Comment


                • #9
                  Hui, hier gibts ja schon soo viele gute Tipps, da schmeiß ich mal meine auch noch rein:

                  Datenbank:
                  id, name, nachname, e-mail, benutzername, passwort*1

                  Register Formular:
                  siehe Datenbank, aber ohne id, e-mail und passwort je zwei mal

                  Register Formular abarbeitung*3:
                  1. prüfe erstmal ob der benutzername noch frei ist (wenn nicht -> fehler*2) / *4
                  2. prüfe ob die e-mail Adressen identisch sind (wenn nicht -> fehler*2)
                  3. prüfe ob die passwörter identisch sind (wenn nicht -> fehler*2)
                  4. Daten + MD5-Prüfsumme (besser noch SHA-X oder Salted-SHA-X) des passwort in der datenbank speichern
                  5. keine Fehler -> mail versenden ( mail() )

                  Login Formular:
                  benutzername, passwort

                  Login Formular abarbeiten*3:
                  1. suche in der Datenbank nach dem angegebenem benutzer
                  1.1 benutzer existiert nicht -> fehler*2)
                  2. erzeuge ein Hashwert des angegebenen passwort genau so wie bei der registrierung (MD5 oder SHA oder so)
                  3. vergleich das Passwort welches aus der Datenbank kommt, mit dem welches du im Login schript erneut gehashed hast (also das was vom benutzer im login formular angegeben wurde)
                  4. stimmen sie überein -> login erfolgreich
                  4.2 stimmen sie nicht überein -> fehler*2)
                  5. erzeuge eine Session (mit ablauf zeit)
                  6. leite auf eine geschützte seite weiter

                  *1 = bitte, speichere die passwörter nicht als Klartext in der Datenbank, benutze mind. MD5, besser noch SHA oder eine micshung aus beidem ...
                  *2 = speichere die Fehler in einem array, damit du alle aufgetretenen Fehler ausgeben kannst und nicht nur den ersten...
                  *3 = sehr rudimentär !!!!
                  *4 = was sie SQL-I angeht, dort wird dir sicherlich Google weiterhelfen ...
                  Zuletzt editiert von der_robert; 14.11.2012, 10:50. Reason: Danke Christian für den Hinweis das MD5 keine verschlüsselung ist sondern eine kryptographische Hashfunktion.

                  Comment

                  Working...
                  X