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
      Verwalter

      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
      Verwalter

      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
      Verwalter

      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
      Verwalter

      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
      Verwalter

      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.