Ankündigung

Einklappen
Keine Ankündigung bisher.

Aktivierung User Account ?

Einklappen

Neue Werbung 2019

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

  • Aktivierung User Account ?

    Hallo ! ! !

    Möchte in meine Registrierung ein Aktivierung basteln. Jetz hätte ich da mal ein paar Fragen zur allgemeinen Vorgehensweise.

    1. womit wird dieser üblicherweise generiert ? Einfach Zeichenfolge generieren und mit an den Link anhängen ?

    2. Wo speichert man diesen am besten ? Direkt in der User Tabelle und nach erfolgreicher Aktivierung wieder löschen oder in ner extra Table ?

    Gruß und Danke schon mal im voraus
    Malcom


  • #2
    Bin trotzdem per Google hier fündig geworden

    Falls mal jemanden interessiert hier entlang

    Kommentar


    • #3
      also ich lege in der db 2 spalten an (code, activated)

      den code lasse ich aus time() und md5() generieren (15 zeichen), diesen speicher ich in der spalte code und verschicke diesen per mail an den user.

      diesen code muss er in ein formular eingeben - falls richtig aktivierung, falls nicht error. bei erfolgreicher aktivierung wird in der spalte activated der wert von 0 auf 1 gesetzt.

      Kommentar


      • #4
        Zitat von Komatruppe Beitrag anzeigen
        den code lasse ich aus time() und md5() generieren
        Blöde Idee - damit wird der Code in einem nicht akzeptablen Maße vorhersehbar.

        Kommentar


        • #5
          und wie könnte man das besser lösen?

          eventuell ne zufallszahl generieren lassen und diese dann durch das md5 ziehen?

          Kommentar


          • #6
            Zitat von Komatruppe Beitrag anzeigen
            also ich lege in der db 2 spalten an (code, activated)

            den code lasse ich aus time() und md5() generieren (15 zeichen), diesen speicher ich in der spalte code und verschicke diesen per mail an den user.

            diesen code muss er in ein formular eingeben - falls richtig aktivierung, falls nicht error. bei erfolgreicher aktivierung wird in der spalte activated der wert von 0 auf 1 gesetzt.
            wieso nicht einfach eine code spalte und sobald ich auf den aktivierungslink klicke, wird die code spalte auf 0 gesetzt, wenn in der spalte keine 0 drin steht, dann ist der user nicht aktiviert.

            wegen time() und md5 würde ich das nicht machen, ich würde den benutzernamen oder irgend ein anderen zufälligen string vermischen oder time+benutzername+email oder ein zufälliges wort welches generiert wird + time(nur um sicher zu gehen dass der md5 wert nicht doppelt vorkommt) aber einfach nur time ist meiner meinung nach nicht ratsam
            apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

            Kommentar


            • #7
              uniqid()
              wär vielleicht ein Kandidat. eventuell würde ich in der Db noch eine Zeit mitspeichern, sodass dieser Aktivierungslink nur für eine gewisse Zeit gültig ist... In der Regel aktivieren und loggen sich Benutzer direkt ein. Wobei das das so zu lösen natürlich reine Geschmackssache ist.
              "My software never has bugs, it just develops random features."
              "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

              Kommentar


              • #8
                hm.. uniqid hört sich net schlecht an. mich würd interessieren, wo er die verbrauchten IDs abspeichert, irgendwie muss er ja wissen, welche nummer schon vergeben wurde
                apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                Kommentar


                • #9
                  Benutzername und E-Mail würde ich auch dazu nehmen.
                  Jedoch finde ich eine eigene Spalte "activated" getrennt zu einer Spalte bspw. "actcode" schicker.


                  EDIT
                  @BlackScorp:
                  Das hättest Du dann damit erreicht, daß eine eigene Spalte mit den bereits vergebenen ID's exisitert.
                  So kannst Du prüfen, ob die generierte bereits vergeben wurde.
                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar


                  • #10
                    desswegen fragte ich ja wegen der uniqid. wenn die eindeutig ist. dann kann eine spalte nicht den gleichen wert haben + normalerweise sucht man ja nicht nur in der spalte, sondern

                    UPDATE users SET code = '0' WHERE username = 'test' AND code = '21093879dasdasf';

                    somit kann da nicht ausversehen der falsche user aktiviert werden. es seidenn man prüft bei der registrierung nicht ob der benutzername schon vorhanden ist
                    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                    Kommentar


                    • #11
                      Das' mir klar. Meine Antwort zielte auf Deinen Beitrag etwas höher ab:
                      wieso nicht einfach eine code spalte und sobald ich auf den aktivierungslink klicke, wird die code spalte auf 0 gesetzt
                      Und das finde ich halt nicht sehr clever.
                      Bei dem Rest gebe ich Euch recht, hatte nur Eure Beiträge nicht gesehen...
                      Competence-Center -> Enjoy the Informatrix
                      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                      Kommentar


                      • #12
                        Zitat von Arne Drews Beitrag anzeigen
                        Und das finde ich halt nicht sehr clever.
                        weil?

                        wie ich bereits sagte, es kommt auf die kombination von usernamen und dem code an oder user id und code oder user email und code. von daher dürfen da sogar doppelte werte vorhanden sein denn NUR mit dieser kombination wird auch nur ein benutzer aktiviert. und 2 spalten, bedeutet dass du in deiner datenbank eine weitere spalte hast mit unnötigen informationen.. hast also eine spalte die nur einmal bei der registrierung belegt wird und später nie wieder verwendet wird...

                        verstehst was ich meine?
                        apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                        Kommentar


                        • #13
                          Ich würde einen uniquen Wert erzeugen, wie sei mal dahin gestellt. Dann würde ich eine Spalte, mit: activation_code, generation_time.
                          Der Benutzer kriegt eine Email zugeschickt, mit diesem activation_code, die er innerhalb einer bestimmten Zeit aktivieren muss (das würde ich machen, ist natürlich Geschmackssache), danach ist der Code abgelaufen.

                          Ich wär auch für 2 Spalten alleine deswegen, um Daten die nicht zusammengehören auseinander zu halten. -> aktiv / code
                          Ist meiner Meinung nach nicht das selbe und gehört daher nicht in die selbe Spalte.
                          "My software never has bugs, it just develops random features."
                          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                          Kommentar


                          • #14
                            @BlackScorp
                            Natürlich verstehe ich was Du meinst.
                            Nur verstehe ich dann nicht, daß Du zunächst die Aussage triffst, daß eine Spalte für den Code reicht und diese dann bei Aktivierung auf 0 gesetzt wird
                            und dann die Frage stellst
                            mich würd interessieren, wo er die verbrauchten IDs abspeichert, irgendwie muss er ja wissen, welche nummer schon vergeben wurde
                            Dürfte klar sein, daß das bei der Variante mit einer Code-Spalte nicht geht.
                            Das war alles, was ich damit sagen wollte.



                            @Paul.Schramenko
                            Bei der Variante mit der Aktivierungsfrist haben wir denselben Geschmack.
                            Finde ich gut...
                            Competence-Center -> Enjoy the Informatrix
                            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                            Kommentar


                            • #15
                              Naja die verbrauchten ids kann man ja trotzdem abfragen, theoretisch sind alle aktivierten IDs in diesem Fall(zurückgesetzt auf 0) ja auch wieder frei und können neu vergeben werden.
                              "My software never has bugs, it just develops random features."
                              "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                              Kommentar

                              Lädt...
                              X