[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.792
    Protect hat nun mal keine Argumente und kann ebenso mit DSPATR(PR) angewendet werden.
    https://www.ibm.com/docs/en/i/7.4?to...-display-files
    => Eingabefelder werden zu Ausgabefeldern.

    ND steht für DSPATR(ND) und kann auch für Ausgabefelder verwendet werden.
    Wenn da dann stattdessen "*****" angezeigt würde, sähe das unschön aus.

    Also ohne 5250-Änderung incl. aller bekannten Emulationsanpassungen sehe ich da nichts.

    Es gab mal ein Paket dass sich Office/400 (o.ä.) nannte, mit dem der Modus des Bildschirms irgendwie in Einzelzeichen Verarbeitung umgeschaltet wurde, da bei jedem Tipvorgang rund um den Bildschirm verschiedene Anzeigen verändert wurden. Das kenne ich nur von den alten VT100-Terminals, die nichts anderes als TTY kannten, Zeichen senden und Echo ausgeben.

    Dies ist allerdings nicht dokumentiert, wie das gemacht wird.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Jan 2003
    Beiträge
    759
    ChatGPT weiß mehr:

    "can IBM i (AS400) send asterisks instead of Blanks with DSPATR(ND)?"

    Yes, it is possible for IBM i (AS400) to send asterisks instead of blanks with DSPATR(ND).

    DSPATR(ND) is a display attribute that suppresses display of the field value. By default, it suppresses display of the field value with blanks. However, you can change the default behavior and suppress display of the field value with asterisks instead of blanks.

    To do this, you need to set the system value QDSPATR to *ASTLVL. This will cause any field with DSPATR(ND) to be displayed with asterisks instead of blanks. You can set this system value by using the CHGSYSVAL command:

    CHGSYSVAL SYSVAL(QDSPATR) VALUE(*ASTLVL)

    Note that changing the QDSPATR system value will affect the display of all fields with DSPATR(ND) on your system, not just a specific field. If you want to suppress display of a specific field with asterisks instead of blanks, you can use the DSPATR attribute in combination with a user-defined format or an edit code.

  3. #3
    Registriert seit
    Jan 2003
    Beiträge
    759
    Musste einfach nachfragen...

    "What would this combination of DSPATR with a user-defined format or edit code look like? Can I have an example?"

    Yes, you can use the DSPATR attribute in combination with a user-defined format or an edit code to display a field value with asterisks instead of blanks. Here's an example:

    Suppose you have a display file that contains a field named FLD1. You want to display the value of FLD1 with asterisks instead of blanks when using DSPATR(ND).

    Using a User-Defined Format:

    You can define a user-defined format that converts all characters to asterisks. Here's an example:

    Code:
    A          R MYSCREEN
    A                                  DSPATR(ND)
    A            FLD1         10A  DSPATR(ND)  DSPATR(*UCASE)  FORMAT(FLD1AST)
    A                                  ALARM
    A                                  OVERLAY
    A                                  ERASE
    A                                  CLEAR
    A                                  EXFMT MYSCREEN
    
    A          FLD1AST      UF   A
    A                                      OVRPRTF      OVRFLD(FLD1AST *PRTDTA)    
    A N25                                  EVAL         FLD1AST = %SST(FLD1:1:10)    
    A N30                                  EVAL         FLD1AST = %TRNFMT(*BLANK:'*':FLD1AST)    
    A N35                                  ENDIF
    In this example, the user-defined format FLD1AST is defined with the UF keyword. It takes the value of the FLD1 field and converts all characters to asterisks. The EVAL operation at line N30 uses the %TRNFMT built-in function to replace all blanks in the FLD1AST value with asterisks.

    When you specify DSPATR(ND) for the FLD1 field, the value of the field will be suppressed and replaced with the value generated by the user-defined format, which is the FLD1AST field with asterisks.

    Using an Edit Code:

    You can define an edit code that replaces all blanks with asterisks. Here's an example:

    Code:
    A          R MYSCREEN
    A                                  DSPATR(ND)
    A            FLD1         10A  DSPATR(ND)  DSPATR(*UCASE)  EDTWRD('*' X)
    A                                  ALARM
    A                                  OVERLAY
    A                                  ERASE
    A                                  CLEAR
    A                                  EXFMT MYSCREEN
    In this example, the EDTWRD keyword is used to define an edit code that replaces all blanks with asterisks. When you specify DSPATR(ND) for the FLD1 field and EDTWRD('*' X) for the EDTWRD keyword, the value of the field will be suppressed and replaced with asterisks.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.792
    Man lernt halt nie aus, EDTWRD für Nicht-Numerisch, darauf muss man mal kommen.

    Allerdings ist das ja revers zu sehen. Ich sehe wieviele Zeichen das Feld groß ist und wieviele Zeichen ich noch habe. Jetzt muss man halt wissen, wie lang das Feld ist um zu errechnen, wieviel ich schon eingegeben habe.
    Bei Passwordlevel 2 werden dann erst mal 255 Sternchen angezeigt. Ob das Sinn macht, sei dahingestellt.

    Jetzt müsste es noch den umgekehrten Weg geben.
    Allerdings wäre mal ein Link zur Doku interessant. Zu finden ist da im DDS-Handbuch und online nichts, bzw:

    The EDTWRD keyword is valid for numeric only fields (Y specified in position 35).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Jan 2003
    Beiträge
    759
    ChatGPT ist doch jetzt das neue Handbuch ;-)

    "Can you explain DSPATR(*UCASE) please"

    Sure! DSPATR(*UCASE) is a display attribute in IBM i (AS400) that is used to display a field in uppercase letters. When you specify DSPATR(*UCASE) for a field in a display file, the field value will be displayed in uppercase characters, regardless of how it was entered or stored.

    For example, suppose you have a display file that contains a field named FLD1 that can accept alphanumeric characters. If you specify DSPATR(*UCASE) for the FLD1 field, any characters entered in the field will be displayed in uppercase letters.

    Here's an example of how to use DSPATR(*UCASE) in a display file:

    less

    Code:
    A          R MYSCREEN
    A                                  DSPSIZ(24 80 *DS3)
    A                                  CA03(03 'Exit')
    A                                  CF12(12 'Cancel')
    A            FLD1         10A  DSPATR(*UCASE)      
    A                                  ALARM
    A                                  OVERLAY
    A                                  ERASE
    A                                  CLEAR
    A                                  EXFMT MYSCREEN
    In this example, the FLD1 field is defined with a length of 10 alphanumeric characters and the DSPATR(*UCASE) display attribute. When this display file is used, any characters entered into the FLD1 field will be displayed in uppercase letters.

    Note that DSPATR(*UCASE) does not affect how the field value is stored or processed. It only affects how the field value is displayed on the screen.

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.716
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Wenn da dann stattdessen "*****" angezeigt würde, sähe das unschön aus.

    Also ohne 5250-Änderung incl. aller bekannten Emulationsanpassungen sehe ich da nichts.
    Hm, hast Recht, ich sollte im aktuellen Zustand nichts aus dem Kopf schreiben - zu viel durcheinander. Muss noch mal in die Doku schauen, es gab mE Attribute für sowas, die aber keiner nutzt, nicht mal Client Access.
    VT100 bietet sich nicht an, da bei 5250 keine Übertragung (und somit Logik) auf der Maschine möglich ist. Man könnte die GIF-Bitmap Codes vergewaltigen, aber - das wird nicht passieren.
    Einigen wir uns auf: geht nicht.
    IBM Champion 2022, 2023, 2024, 2025
    Common Europe Advisory Council / Hall of Fame
    http://pub400.com
    visit www.POWERbunker.com for bespoke IBM i hosting

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.716
    Nachtrag - 5250 sendet bei Passwordfeldern das Farbattribut $27, da könnte was gehen.
    IBM Champion 2022, 2023, 2024, 2025
    Common Europe Advisory Council / Hall of Fame
    http://pub400.com
    visit www.POWERbunker.com for bespoke IBM i hosting

  8. #8
    Registriert seit
    Jan 2003
    Beiträge
    759
    ChatGPT sagt ja, rät jedoch ab...

    "Die IBM i (AS400) 5250 sendet bei Passwordfeldern das Farbattribut 27, kann man das in Sternchen übersetzen?"

    Ja, das ist möglich! Wenn Sie das Farbattribut 27 mit einem Passwordfeld in einem 5250-Bildschirm verwenden, wird der Text im Feld als schwarze Sternchen angezeigt.

    Um das zu erreichen, können Sie DSPATR(PC) für das Passwordfeld in Ihrem Anzeigedatei-Definitionssatz angeben. DSPATR(PC) zeigt den Inhalt des Feldes als Sternchen an, während das Farbattribut 27 die Schriftfarbe des Feldes auf Schwarz setzt.

    Hier ist ein Beispiel, das zeigt, wie Sie das Passwordfeld mit DSPATR(PC) und Farbattribut 27 in Ihrem Anzeigedatei-Definitionssatz definieren können:

    Code:
    A          R MYSCREEN
    A                                  DSPSIZ(24 80 *DS3)
    A                                  CA03(03 'Exit')
    A                                  CF12(12 'Cancel')
    A            PSWDFLD      10A   DSPATR(PC) DSPATR(27)
    A                                  ALARM
    A                                  OVERLAY
    A                                  ERASE
    A                                  CLEAR
    A                                  EXFMT MYSCREEN
    In diesem Beispiel ist das Passwordfeld "PSWDFLD" definiert und mit DSPATR(PC) und DSPATR(27) spezifiziert. Dadurch wird der Inhalt des Feldes als Sternchen angezeigt und die Schriftfarbe des Feldes auf Schwarz gesetzt.

    Bitte beachten Sie, dass das Überschreiben des Farbattributs für Passwordfelder in der Regel eine Sicherheitslücke darstellt, da ein Angreifer möglicherweise versuchen könnte, den tatsächlichen Text im Feld zu sehen, indem er das Farbattribut umgeht. Es ist wichtig, sicherzustellen, dass die Sicherheit Ihres Systems gewährleistet ist, bevor Sie das Farbattribut überschreiben.

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.716
    Zitat Zitat von RobertMack Beitrag anzeigen
    ChatGPT sagt ja, rät jedoch ab...
    wenn sogar eine KI davon abrät...
    IBM Champion 2022, 2023, 2024, 2025
    Common Europe Advisory Council / Hall of Fame
    http://pub400.com
    visit www.POWERbunker.com for bespoke IBM i hosting

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.792
    Das war bis Windows 98 oder sogar XP noch so, dass man per STRG+C aus dem Kennwortfeld den Klartext herauskopieren konnte.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.391
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Das war bis Windows 98 oder sogar XP noch so, dass man per STRG+C aus dem Kennwortfeld den Klartext herauskopieren konnte.
    1.) da sollte man erst mal testen, bei welchen 5250 Clients das heute noch geht!
    2.) so what - welcher Benutzer tippt schon sein Kennwort ein und geht dann Kaffee trinken, bevor er dann die Eingabetaste zur Anmeldung drückt.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Problem bei Abfrage bei Imbedded SQL
    By cbe in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 08-06-05, 17:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •