如何防止System.getProperty("user.name")被欺骗
How to prevent System.getProperty("user.name") from being spoofed
我正在 java 中构建一个桌面应用程序,我需要登录的用户名。
我正在使用 System.getProperty("user.name")
获取用户名。
但这可以通过使用
来欺骗
Properties p = System.getProperties();
p.put("user.name", "XYZ");
System.setProperties(p);
或
-Duser.name=someothername
我怎样才能防止这种欺骗或任何替代方法以安全的方式登录用户名。
桌面应用程序独立于平台。
系统属性不是环境变量。使用 System.getenv("USERNAME")
作为环境变量。 System.properties
仍然可以由用户在 java 命令行上使用 java -Duser.name=someoneelse
.
进行设置
我正在 java 中构建一个桌面应用程序,我需要登录的用户名。
我正在使用 System.getProperty("user.name")
获取用户名。
但这可以通过使用
来欺骗Properties p = System.getProperties();
p.put("user.name", "XYZ");
System.setProperties(p);
或
-Duser.name=someothername
我怎样才能防止这种欺骗或任何替代方法以安全的方式登录用户名。 桌面应用程序独立于平台。
系统属性不是环境变量。使用 System.getenv("USERNAME")
作为环境变量。 System.properties
仍然可以由用户在 java 命令行上使用 java -Duser.name=someoneelse
.