gpt4 book ai didi

c# - System.Environment.UserName 可以轻易伪造吗?

转载 作者:行者123 更新时间:2023-11-30 21:54:57 24 4
gpt4 key购买 nike

在 Windows WPF 桌面应用程序中,我以这种方式使用 System.Environment.UserName:

 var q = from l in db.Logins where 
l.WinLogin.Trim().Equals(System.Environment.UserName, StringComparison.InvariantCultureIgnoreCase)
&& l.WinDomain.Trim().Equals(System.Environment.UserDomainName, StringComparison.InvariantCultureIgnoreCase)
select l.LoginID;

var login = q.FirstOrDefault();
if (login == null)
/*Access rejected*/
else
/*Access granted*/

我想知道 System.Environment.UserNameSystem.Environment.UserDomainName 的内容是否可以在 Windows 域中轻松伪造(设置为其他人的帐户)或不是由非管理员用户。我希望这种身份验证适用于不需要最高安全性的普通 Windows 应用程序,只是想确保我没有忽略一些明显的事情。

例如,如果我创建与 Windows 域同名的家庭工作组,然后在该工作组中创建一个用户,然后使用 VPN 连接到该 Windows 域并在家庭工作组计算机上安装应用程序,我会伪造这些吗变量并获取访问权限?

最佳答案

不,System.Environment 变量仅适用于该机器。用户名和域名不能伪造。该调用最终由 ADVAPI32 处理,它是负责 Windows 内部内容的 Windows 组件。

您也无法使用 VPN 或其他方法伪造它。这并不意味着他们无法在应用程序和您要连接的数据库之间取得联系。确保也保护它。

关于c# - System.Environment.UserName 可以轻易伪造吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32739707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com