AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Teil eines Fensters verpixeln

Ein Thema von Alfonso · begonnen am 8. Mai 2018 · letzter Beitrag vom 11. Mai 2018
Antwort Antwort
Seite 2 von 3     12 3      
Alallart

Registriert seit: 8. Dez 2015
153 Beiträge
 
#11

AW: Teil eines Fensters verpixeln

  Alt 9. Mai 2018, 11:28
Edit.PasswortChar := '*'; aber das löst auch nicht das prinzipielle Problem.
Ich verstehe nicht was du mit "prinzipielle Probleme" genau meinst. Ist zwar schon lange her wo ich das richtig überprüft habe, aber wenn man versucht ein Eidtfeld auszulesen, das mit PasswortChar "verpixelt" ist, bekommt man auch nur Sternchen raus. Im Editfeld selbst sind also nur Sternchen, kein verdeckter Text.

Klar kann man irgendwelche Datenströme mit irgendwelchen Hackerprogrammen auslesen, ab er um das geht es hier wohl nicht. PasswortChar sorgt dafür, dass Edit-Felder nur Sternchen anzeigen.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Teil eines Fensters verpixeln

  Alt 9. Mai 2018, 11:43
aber wenn man versucht ein Eidtfeld auszulesen, das mit PasswortChar "verpixelt" ist, bekommt man auch nur Sternchen raus.

Leider nicht.

https://imgur.com/a/HkzbRHS
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#13

AW: Teil eines Fensters verpixeln

  Alt 9. Mai 2018, 11:54
Das Control hat als Windows-Text immernoch den richtigen Text.
Nur bei der Anzeige werden während des Malens die Sterne/Punkte verwendet.

Und nur ein einzelnes Bit in dem Control muß geändert werden (MSDN-Library durchsuchenES_PASSWORD), damit man im Edit wieder den Text sieht, was WinSpy&Co. oder MSDN-Library durchsuchenSetWindowLong auch problemlos erledigen können.

Es ist praktisch das Selbe, was der TE machen will, aber ob nun er oder Windows die Ausgabe "anders" malt, aber intern die Daten problemlos zugreifbar sind, das macht keinen großen Unterschied.
Du kannst gern im Paint-Ereignis der Komponente deine Pixel malen, aber es bleibt das selbe Problem bestehen.


Darum bieten viele DBMS auch direkt an, dass man beim Auslesen solcher Felder anhand der Benutzerberechtigung einzelne Felder/Spalten schon DB-seitig "sperren" kann, damit diese Daten garnicht erst raus kommen können.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 9. Mai 2018 um 12:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Teil eines Fensters verpixeln

  Alt 9. Mai 2018, 12:29
Ich verstehe nicht was du mit "prinzipielle Probleme" genau meinst.
Hallo,

aus Datenschutzgründen möchte ich für Benutzer mit eingeschränkten Rechten die Ausgabe von Read Only TEdit Felder verpixeln.
Das prinzipielle Problem ist wohl der Datenschutz. Dem versucht der TE mit Hilfe einer "Verpixelung" bei zu kommen.
Da ist es aber wesentlich nachhaltiger Daten, die zu schützen sind, gar nicht erst zu publizieren, als sie zu verfremden.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#15

AW: Teil eines Fensters verpixeln

  Alt 9. Mai 2018, 12:45
Stell dir "Verpixeln" mal etwas anders vor.

* ein nicht ganz deckend malender Stift ... kannst oft drüber malen, aber sehen tut man es dennoch
> würde man aber den Text garnicht erst hinschreiben und nur als "hier wäre was" die Pixel malen, dann kann man dennoch nichts sehen

* oder wie in schlechten TV-Pseudorealitypolizeidokus, wo nur die Augen verpixelt werden ... man sieht nichts, aber wer dich kenn, wird dich dennoch erkennen, was blöd ist, wenn das die Bösen sind
> ein falsches "Dummy"-Gesicht mit Pixeln über den Augen ... nja, da wird maximal der Falsche erschossen, aber du bist sicher
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Teil eines Fensters verpixeln

  Alt 10. Mai 2018, 11:50
Da es bisher kein "Verpixelungslöung" gepostet wurde, muss der TE damit Leben, das entweder sein Ansatz hinterfragt wird oder er gar keine Antworten bekommt.
Ich denke '....' war schon ein "Verpixelungsansatz". Man könnte auch den Inhalt "Xoren", oder man verwendet als Font Wingdings oder Webdings.
Hört sich nach der Lösung an indem man Dokumente als PDF mit geschwärzen Inhalt rausgegeben hat. Dumm nur das dann hinter der Schwärzung der Orginal-Text noch im PDF vorhanden war.
Das gleich wäre mit Wingdings und Co. Im Control ist es nicht lesbar. Solange es aber nur "ReadOnly" gesetzt ist kann man es rauskopieren und dann mit andere Schriftart anzeigen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: Teil eines Fensters verpixeln

  Alt 10. Mai 2018, 12:02
aber wenn man versucht ein Eidtfeld auszulesen, das mit PasswortChar "verpixelt" ist, bekommt man auch nur Sternchen raus.

Leider nicht.

https://imgur.com/a/HkzbRHS
Autsch
Hat hier Emba/Delphi gepfuscht oder ist das eine Mangel des Windows-Controls.
Ein Jira-Ticket finde ich nicht dazu. Darf ich dein Beispiel verlinken wenn ich ein Jira-Ticket anlege?

Glücklicherweise haben wir Edits von 3th-Partykomponenten. Diese Fallen auf diesen Trick nicht herein.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#18

AW: Teil eines Fensters verpixeln

  Alt 10. Mai 2018, 12:30
Klar, gerne. Aber ich denke es ist eher
ist das eine Mangel des Windows-Controls.
.


Denn in der WinForms-Doku zu PasswordChar steht:
Zitat:
[…]. Because the text entered is not encrypted in any way, you should treat it as you would any other confidential data. Even though it does not appear as such, the password is still being treated as a plain-text string (unless you have implemented some additional security measure).
Quelle: https://docs.microsoft.com/en-us/dot...extbox-control

Die Embarcadero-Doku sagt das ja auch, wenn auch nicht so deutlich:
Zitat:
PasswordChar affects the appearance of the edit control only. The value of the Text property reflects the actual characters that are typed.
Quelle: http://docwiki.embarcadero.com/Libra...t.PasswordChar
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Teil eines Fensters verpixeln

  Alt 10. Mai 2018, 19:20
Hi, drei alternativen um beim verpixeln zu bleiben:

Variante a) leg dir eine Komponente über die die Du verstecken willst, diese muss ein Canvas bieten, damit kannst du dann was auch immer rübermalen, das geht in Richtung WinApi/Non-VCL

Variante b) leg dir eine Image Komponente rüber und lad irgendein Bild, das geht in Richtung VCL pur.

Für beide Varianten könnte man das was verpixelt werden soll auch vorher "knipsen" und dann bearbeiten und dann ins Canvas bzw Image rein.

Variante c) Noch eine Sache wäre der Glass-Effekt, der bietet eigentlich das was du vorhast an, per Dichte stellst du die Lesbarkeit ein.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#20

AW: Teil eines Fensters verpixeln

  Alt 10. Mai 2018, 20:10
b) Ein Image kann man niemals über eine Komponente legen, da es sich nur auf dessen Parent malt und der ist immer hinten.


Und ganz im Ernst, nur weil das Edit durch eine andere Komponente überdeckt wird, heißt dass noch lange nicht, dass man nicht in wenigen Millisekunden an das Edit im Hintergrund ran kommt, in dem immernoch alles direkt lesbar drin ist.


Sobald wie auch immer das "geheime" in der GUI landet, kann es auch ausgelesen werden.
Wenn es nur im RAM liegt, dann ist es auch auslesbar, aber diesen aufwändigeren Fall ignoriere ich jetzt erstmal.
Fazit: Es darf garnicht erst geladen werden, dann kommt auch niemand da ran.

@Bernhard Geyer: Sorry, aber das ist keinenfalls ein Problem von Delphi.
Es liegt in der Natur solcher Passwort-Edit-Komponenten und das auch in anderen Betriebssystemen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (10. Mai 2018 um 20:13 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz