![]() |
Teil eines Fensters verpixeln
Hallo,
aus Datenschutzgründen möchte ich für Benutzer mit eingeschränkten Rechten die Ausgabe von Read Only TEdit Felder verpixeln. Alternativ würde ich einen kompletten bereich des Fensters, der Datenschutzrelevant ist, verpixeln wollen. Habe im Web und hier gesucht, aber nur Lösungen mit FX Komponenten gefunden, die ich nicht einsetze (nutze VCL). Kann mir jemand helfen? |
AW: Teil eines Fensters verpixeln
Das würde ich nicht machen, weil die Daten per API Funktionen trotzdem aus den Steuerelement geholt werden können.
Am besten gar nicht erst laden lassen. Wenn du den SQL-Server 2016 (oder neuer) hast, kannst du zensierte Daten liefern lassen - das dann schon ab Datenbank! |
AW: Teil eines Fensters verpixeln
Die Analogie wäre Dokumente mit sensitivem Inhalt herumzureichen und bei Leuten die nicht alles sehen sollen manche Bereiche mit Papierschnippseln abzudecken.
Statt den echten Daten nur Platzhalter übertragen. Und wenn selbst das zu aufwändig ist dann wenigstens in die Edit-Felder und Konsorten etwas wie
Delphi-Quellcode:
oder ähnliches eintragen.
----
Aber selbst hier kann ein Angreifer immer noch über Netzwerk mitlesen, Dateien auslesen oder in Log-Dateien sensitive Inhalte finden. Das Übliche eben 8-) |
AW: Teil eines Fensters verpixeln
Woher bekommt die Anwendung denn diese Daten, die dann dort verpixelt werden sollen?
Und wenn die Anwendung an die Daten kommt, dann kommt auch der Anwender (grundsätzlich) an die Daten. Mit Datenschutz hat dieses Vorgehen absolut gar nichts zu tun, eher eine Geschichte aus der Serie: "Heute haben wir uns aber mal wieder so richtig schön selber reingelegt!" |
AW: Teil eines Fensters verpixeln
<off-Topic>
Warum könnt ihr nicht einfach die Frage des TE beantworten + wenn ihr dazu nichts zu sagen habt, Euch zurückhalten? Ich finde das zunehmend lästig. Einmal auf einen anderen Aspekt hinweisen, mag ja noch ok sein, aber da setzen sich gleich noch zwei weitere drauf + hurtig entspannt sich eine Diskussion, die mit dem Anliegen des TE nichts zu tun hat. </off-Topic> |
AW: Teil eines Fensters verpixeln
Zitat:
Mach ich im meinen Beruflichen Umfeld genauso - Und fahre damit besser als etwas zu Implementieren das eh in die falsche Richtung geht. 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. |
AW: Teil eines Fensters verpixeln
Zitat:
Aber warum sollten Daten an einen Benutzer geliefert werden, die diesen nichts angehenen? Das Konzept sollte wirklich geprüft werden. Gruß K-H |
AW: Teil eines Fensters verpixeln
Zitat:
|
AW: Teil eines Fensters verpixeln
Zitat:
Delphi-Quellcode:
Ändert aber nichts an der angesprochenen Sicherheitslücke dieses Konzepts. Entscheiden must du selbst....
Edit.visible:=false;
|
AW: Teil eines Fensters verpixeln
Delphi-Quellcode:
aber das löst auch nicht das prinzipielle Problem.
Edit.PasswortChar := '*';
|
AW: Teil eines Fensters verpixeln
Zitat:
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. |
AW: Teil eines Fensters verpixeln
Zitat:
Leider nicht. ![]() |
AW: Teil eines Fensters verpixeln
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 ( ![]() ![]() 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. |
AW: Teil eines Fensters verpixeln
Zitat:
Zitat:
Da ist es aber wesentlich nachhaltiger Daten, die zu schützen sind, gar nicht erst zu publizieren, als sie zu verfremden. Gruß K-H |
AW: Teil eines Fensters verpixeln
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 |
AW: Teil eines Fensters verpixeln
Zitat:
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. |
AW: Teil eines Fensters verpixeln
Zitat:
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.:wink: |
AW: Teil eines Fensters verpixeln
Klar, gerne. Aber ich denke es ist eher
Zitat:
Denn in der WinForms-Doku zu PasswordChar steht: Zitat:
![]() Die Embarcadero-Doku sagt das ja auch, wenn auch nicht so deutlich: Zitat:
![]() |
AW: Teil eines Fensters verpixeln
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. |
AW: Teil eines Fensters verpixeln
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. |
AW: Teil eines Fensters verpixeln
Zitat:
|
AW: Teil eines Fensters verpixeln
Der Aufwand für die Pseudo-Lösungen wird langsam sogar größer als der richtige Weg, die Daten einfach erst gar nicht zu übertragen oder zumindest nicht anzuzeigen :-D
|
AW: Teil eines Fensters verpixeln
Zitat:
Dann wäre die Chance ein evtl. Audit zu überstehen größer. Gruß K-H |
AW: Teil eines Fensters verpixeln
Vielleicht kann @alfonso aka "der Threadersteller" noch ein wenig Input liefern?
|
AW: Teil eines Fensters verpixeln
Zitat:
Wenn ich der TE Ersteller wäre würde ich auch nicht mehr Antworten. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz