![]() |
Sind Umgebungsvariablen unsicher?
Moin,
vorhin habe ich mich gefragt, wieso hier des öfteren gefragt wird, wie man den angemeldeten Benutzernamen unter Windows ausliest (ich weiß, es können mehrere angemeldet sein, aber ich meine nun den normalen Fall, dass eine Person am Rechner sitzt und niemand übers Netzwerk und ähnlichem darauf zugreift). Oftmals stoße ich auf Source wie ![]() ![]() Nun stehen solche Infos doch auch in den Umgebungsvariablen. Lassen sich diese leicht manipulieren oder wieso wird allgemein nicht einfach darauf zugegriffen? Um auf das eben genannte Beispiel zurückzukommen, ginge dies in Delphi ja einfach mittels:
Delphi-Quellcode:
Evtl. habe ich falsch gesucht, doch zu diesem Thema konnte ich nichts finden und ich bin überzeugt davon, dass es einen Grund hat diese komplizierteren Vorgehensweisen zu nutzen.
GetEnvironmentVariable('USERNAME')
Grüße, Matze |
Re: Sind Umgebungsvariablen unsicher?
Man kann die Umgebungsvariable täuschen, indem man sie einfach ändert. Über die Kommanodzeile mit "set".
Den Benutzername kannst du aber auch so erhalten: ![]() |
Re: Sind Umgebungsvariablen unsicher?
Moin Christian,
Zitat:
So eine Änderung wirkt nur in dieser einen Konsole, und daraus aufgerufenen Prozessen, da sie das Environment erben. Eine Umgebungsvariable USERNAME als solche existiert auch nicht, sondern wird, IMHO, initial durch den Aufruf von GetUserName (bzw. GetUserNameEx) gefüllt. Die "echten" Umgebungsvariablen findet man unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Environment Anzeigen und ändern lassen sich diese auch über die Systemeigenschaften, und dann wirken sich Änderungen aus. |
Re: Sind Umgebungsvariablen unsicher?
Zitat:
![]() |
Re: Sind Umgebungsvariablen unsicher?
Zitat:
Ein möglicher Anwendungsfall: Man möchte, dass ein Setup ein alternatives TEMP-Verzeichnis verwendet (in %TEMP% ist zu wenig Platz oder der Zugriff ist zu langsam). Zitat:
|
Re: Sind Umgebungsvariablen unsicher?
Moin Nico,
auch mal wieder da ;-) Zitat:
Zitat:
Die angesprochene "Umgebungsvariable" USERNAME könnte man wohl nur durch Änderung im Environment des Explorers umbiegen. Hmmm. :gruebel: Das muss ich mal ausprobieren ;-) |
Re: Sind Umgebungsvariablen unsicher?
Kleiner Hinweis:
![]() |
Re: Sind Umgebungsvariablen unsicher?
Also env sind net unbedingt als unsicher anzusehen.
Es ist sehr nützlich einige Variablen zu ändern. Bei Benutzername sollte man aber vorsichtig sein. Je nachdem, was damit in der App gemacht wird, kann man dumme Sachen machen. Deine App wäre nicht die erste, die abstürzt, wenn man eine Variable ungeschickt verändert. |
Re: Sind Umgebungsvariablen unsicher?
Der Grund warum ich nicht auf die Umgebungsvariablen zugreife ist der das ich nicht weiß ob sie in der nächsten Windowsversion noch genau so heißen. Da ist die Verwendung der Apifunktion doch bedeutend sicherer. Das Beispiel des Tempverzeichnisses ist schon perfekt. Seit XP (oder so ähnlich) gibt es zusätzlich ein Temp Verzeichnis für jeden user und wenn ich einfach das alte Temp-Verzeichnis verwende kanns fix passieren das ich dort gar keinen Zugriff habe.
|
Re: Sind Umgebungsvariablen unsicher?
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 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