如何防止System.getProperty(" user.name")被欺骗

时间:2016-09-12 06:58:24

标签: java java-security

我正在java中构建一个桌面应用程序,我需要登录的用户名。 我使用System.getProperty("user.name")来获取用户名。

但是这可以通过使用

来欺骗
Properties p = System.getProperties();
    p.put("user.name", "XYZ");
    System.setProperties(p);

-Duser.name=someothername

如何以安全的方式阻止此欺骗或任何其他方式登录用户名。 桌面应用程序独立于平台。

1 个答案:

答案 0 :(得分:5)

系统属性不是环境变量。将System.getenv("USERNAME")用于环境变量。用户仍可以使用System.properties在java命令行上设置java -Duser.name=someoneelse