Entwickler-Ecke

Sonstiges (Delphi) - Inahlt vom Kennwortfeld soll nicht kopiert werden können


Fabian W. - Di 22.03.05 08:56
Titel: Inahlt vom Kennwortfeld soll nicht kopiert werden können
Hi,

folgendes Problem:

(Auch nach langem Suchen hab eich nichts gefunden)
In einem meiner Programme muss ich Kennwörter abfragen und erstellen lassen. Wäre kein Problem, nur möchte ich, dass der Text in einem Kennwortfeld nicht kopiert werden kann, so wie bei Windows.

Kann mir da jemand weiterhelfen?

Moderiert von user profile iconTino: Titel geändert.


firus1983 - Di 22.03.05 09:14

So direkt wüsste ich jetzt nich ob/wie das gehen sollte.
Aber riecht das trotzdem arg nach Windows-API.

Du könntest allerdings ein Edit-Feld nehmen und beim OnChange-Ereignis folgendes tun:

- Den eingegebenen Buchstaben an eine (anfangs noch leere) variable anfügen
- Den eingegebenen Buchstaben im Editfeld durch einen anderen x-beliebigen ersetzten

--> darfst aber nich vergessen, dass ein Löschen etc. auch ein ChangeEreignis ist. Also --> Vorher prüfen !
(ggf. kommst du mit einem KeyPress- oder KeyDown- Ereignis weiter)


Fabian W. - Di 22.03.05 10:21

Das meinte ich nicht. dafür gibt es ja schon die Eigenschaft "PasswordChar" für Edit-Felder. Es soll nur nicht möglich sein, den eingegebenen Text (mit Strg-C) herraustzkopieren.
Dennoch Danke für deine Antwort :D


jasocul - Di 22.03.05 10:55

Entweder benutzt du das OnKeyDown des Edit-Feldes, Oder du belegst Strg-C mit einem anderen Ereignis. Das kann ja durchaus gar nichts machen. Besser wäre allerdings schon eine Fehlermeldung.
Beachte aber, dass es noch alte und andere Tastenkombination gibt, die den Inhalt des Editfeldes auslesen: Strg-X, Strg-Entf, Strg-Einfg


Stübi - Di 22.03.05 11:22

Bei mir ist es so, dass wenn ich einem normalen Editfeld bei Passwortchar z.B.: ein Sternchen eingebe, dann sämtliche Copy und Cutfunktionen ausgeschaltet werden, automatisch.
Wenn ich das Sternchen wieder durch den Defaultwert ersetzte kann ich wieder kopieren, ausschneiden usw.

Gruss Stübi


Fabian W. - Di 22.03.05 13:13

Tja, in D3 scheint das nocht nicht so zu sein - bei mir kommt nur ein Signalton - kopieren kann ich's trotzdem. :?


Tino - Di 22.03.05 13:21

@Fabi & Tobi: Bitte verwende in Zukunft einen Titel der etwas aussagekräftiger ist. Meistens erreicht man das wenn man mehr als nur ein Wort für den Titel verwendet. ;-) Danke!


Fabian W. - Di 22.03.05 13:22

Mach ich! :autsch:


delfiphan - Di 22.03.05 13:25

Fabi & Tobi: Bist du sicher, dass das Passwort nicht schon vorher in der Zwischenablage war!?


Kroni - Di 22.03.05 13:50

nur mal so ne anmerkung
in mienem D3PRO isses so, wenn ich da n PAsswortChar eingebe, dass ich dann schon gar nicht mehr aus einem edit feld weder per kontextmenü noch per strg+v oder sonstwas kopeiren kann^^


Fabian W. - Di 22.03.05 14:46

Ich hab auch D3Prof, und bei mir ist's so, dass zwar ein Signalton kommt, sich der Text dennoch kopieren lässt. :shock:

// Ich probier das ganze jetzt noch mal genau aus. Vielleicht liegt's irgendwo in den Einstellungen. danke für eure Antworten


Stübi - Di 22.03.05 14:51

Machst du sonst noch was mit dem Editfeld?
Irgendwelche Events?
Was hast du als Passwortzeichen gesetzt?

Gruss Stübi


JayEff - Di 22.03.05 14:52

im schmillmsten fall fange doch die tastenkombination ab im onKeyDown ereignis und schreibe ins Clipboard sowas wie "nene kopieren is nich oO" dann wird das kopierte passwort überschrieben :D


Fabian W. - Di 22.03.05 14:54

1: PasswordChar = *, Sonst hat die Komponente nichts zu tun.


2: Gute Idee!

Falls das "nicht Kopieren" nicht geht nehme ich mir eine andere, hier vorgeschlagene, Möglichkeit.

Vielen Dank!!!


wdbee - Di 22.03.05 15:53

Du musst dir aber im Klaren sein, dass es da ganz ausgefuchste Mehtoden gibt, dennoch an solche Passwörter zu kommen:

"Three Ways to Inject Your Code into Another Process" by Robert Kuster, zu finden bei
http://www.codeproject.com/threads/winspy.asp

Also fühl dich nicht zu sicher!


Fabian W. - Di 22.03.05 20:12

Mir ist schon klar das nichts sicher ist. Vor allem meine "diletantischen" Anwendungen werden kein Problem für nen Hacker darstellen. Aber dafür ist es auch nicht gedacht. Die meißten Anwender werden sowiso kaum Ahnung von Computern haben. :wink:


firus1983 - Mi 23.03.05 10:38

Versuch doch einfach mal den Aufwand meiner Methode (ganz oben die)...
User können dann zwar vielleicht kopieren, aber wenn sie wieder einfügen sehen sie nur x-mal den selben Buchstaben.
Da nützen dann auch die ganzen Tools nichts, mit denen man solche Felder wieder in Klartext darstellen kann !


Fabian W. - Mi 23.03.05 10:44

Auch keine schlechte Möglichkeit. Ich versuch mal allles unter einen Hut zu bekommen. Ich bin sicher das mein Problem jetzt gelöst ist. :mrgreen: