Passwort Feld für LiveCode

Startseite Foren Deutsches LiveCode-Forum Passwort Feld für LiveCode

Schlagwörter: , , ,

Ansicht von 14 Antwort-Themen
  • Autor
    Beiträge
    • #16712
      JB1002000
      Teilnehmer

        Hey, ich versuche eine Textbox zu erstellen, die eingegebene Zeichen durch “*” ersetzt. Auch wenn man in diese Textbox einen fertigen Text hineinkopiert sollen alle Zeichen sofort ersetzt werden. Hat jemand mit so etwas Erfahrung?

      • #16720
        Torsten
        Teilnehmer

          Hier mein Vorschlag

          Erstelle ein Feld und setze dieses Script ein:

          
          ## Normale Eingabe des Passworts mit Sternchen verschlüsselt
          ## Das aktuelle Passwort ist als Property des Feldes gesetzt
          
          on keyDown pKeyName
             
             put the passwort of me into tPasswort
             put tPasswort & pKeyName into tPasswort
             set the passwort of me to tPasswort
             put "*" after me
             
          end keyDown
          
          ## Löschen der Buchstaben und des Passwortes druch Backspace (beim Mac)
          
          on backspaceKey
             
             if me is empty then 
                set the passwort of me to empty
             else
                put the passwort of me into tPasswort
                delete the last char of tPasswort
                set the passwort of me to tPasswort
                delete the last char of me
                
             end if
             
          end backspaceKey
          
          ## Einfügen von Text aus der Zwischenablage durch CMD + v 
          ## (müsste bei Windows STRG + v sein, also dort evtl. ControlKeyDwon einsetzen )
          
          on commandKeyDown pKeyName
             
             if pKeyName = "v" then
                
                put empty into me
                
                put the fullclipboarddata["text"] into tPasswort
                set the passwort of me to tPasswort
                
                repeat length(tPasswort) times
                   put "*" after me
                end repeat
                
             end if
             
          end commandKeyDown
          
        • #16723
          JB1002000
          Teilnehmer

            Hallo Thorsten, vielen Dank für deine schnelle Antwort. Das bedeutet alles was in der Textbox sonst als Wert stehen würde, wird in die Eigenschaft passwort gespeichert und um die Daten verarbeiten zu können, gibt es zusätzlich die variable tPasswort? habe ich das so richtig verstanden?

          • #16725
            JB1002000
            Teilnehmer

              Zusätzliche Frage (Will ja auch was lernen :D): Ist so eine Lösung auch für Apps gut? Da tippt man ja lange und drückt dann auf “Einfügen”.

            • #16730
              Torsten
              Teilnehmer

                Hi,

                da das Passwort ja in der Property des Feldes gespeichert ist, kann es nach der Eingabe auch von dort abgerufen und mit dem erwarteteten Passowrt vergleichen werden. Im Falles eines “Einfügen”-Buttons würde in diesem z.B. folgendes Script stehen:

                
                on mouseup
                
                   put the passwort of field "Passworteingabe" into tEingegebenesPasswort
                   
                   if tEingegebenesPasswort = "DiesIstDasGeheimePasswort" then
                      answer "Passwort korrekt!"
                   else
                     answer "Passwort falsch!" 
                   end if
                
                end mouseup
                
              • #16732
                Klaus Major
                Administrator

                  Zur Not auch mal diesen Thread durchlesen, da geht es u.a. um verschlüsselte Passwörter:
                  https://www.livecode-blog.de/forums/topic/einfacher-login-mit-mysql-datenbank/

                  Denn Passwörter sollte man nicht unverschlüsselt in einem Stack speichern!

                • #16734
                  JB1002000
                  Teilnehmer

                    Hallo Thorsten, vielen dank für deine Hilfe. Habe eben dazu gelernt, dass man mit dem Handy keinen Text aus der Zwischenablage in die Textboxen von LiveCode einfügen kann.

                    Bei mir werden nur die Eingaben des Nutzes in das Textfeld gespeichert um diese dann verschlüsselt mit dem Passwort in der Datenbank abzugleichen. Also unverschlüsselt wird nichts im Stack gespeichert.

                  • #16740
                    Klaus Major
                    Administrator

                      Ich dachte, das Passwort wäre in einer Custom Property des Feldes gespeichert?
                      Das muss ja irgendwie dahin kommen. 😎

                    • #16744
                      JB1002000
                      Teilnehmer

                        Das ist zwar richtig, aber doch nur während der Eingabe, nach der Eingabe wird es verschlüsselt und mit der Datenbank verglichen.

                      • #16746
                        Klaus Major
                        Administrator

                          Ich zitiere Torsten:


                          ## Das aktuelle Passwort ist als Property des Feldes gesetzt

                          Da kommt doch nicht von alleine, und auch nicht automatisch bei jedem Programmstart in diese Custom Property, oder?

                          Du setzt das einmal und es wird dann auch mit dem Stack gespeichert.

                        • #16748
                          JB1002000
                          Teilnehmer

                            Achso okay, das ist natürlich richtig. Dann müsste ich den Code so ändern, dass die Eingabe in eine Variable gespeichert wird, so wird nichts als Eigenschaft gespeichert.

                          • #16750
                            Klaus Major
                            Administrator

                              Aber Du brauchst doch das richtige Passwort als Referenz!
                              Noch einmal, wo soll das denn herkommen, wenn nicht irgendwo im Stack gespeichert?

                            • #16752
                              JB1002000
                              Teilnehmer

                                Das richtige Passwort ist in einer MySql Datenbank gespeichert. Nach der Eingabe wird diese mit dem Passwort in der Datenbank verglichen. Das richtige Passwort wird nicht im Stack selbst als Referenz gespeichert.

                              • #16754
                                Klaus Major
                                Administrator

                                  AHA! Sorry, dann hatte ich das falsch verstanden.

                                • #16756
                                  JB1002000
                                  Teilnehmer

                                    Alles gut, vielen Dank für eure Hilfe. 🙂

                                Ansicht von 14 Antwort-Themen
                                • Du musst angemeldet sein, um auf dieses Thema antworten zu können.