【问题标题】:Is there any way to clear tomcat garbage values automatically using JAVA有没有办法使用JAVA自动清除tomcat垃圾值
【发布时间】:2016-05-20 09:35:31
【问题描述】:

在我的应用程序中,我在 Tomcat 图像的内存中获取密码和用户访问令牌等值。当我尝试使用进程黑客读取它时。

有什么办法可以清除这个存储的值。

【问题讨论】:

  • 没有。 Tomcat 在处理过程中需要明确这些值,并且由于 Java 管理内存的方式,一旦处理完成,就无法可靠地将其从内存中擦除。但是,您要保护什么?任何对您服务器上的进程内内存具有完全读取权限的人可能已经可以随心所欲了。

标签: tomcat configuration


【解决方案1】:

取决于您获取密码的方式:如果您已经将它们作为String 获取:几乎没有机会摆脱它。如果你得到它们为char[],你可以在使用后清除数组。 This question 及其答案很好地讨论了use char[] 密码的原因。

从技术上讲,是的,您可以通过调用 System.gc()which has its own problems 来触发垃圾回收

【讨论】:

  • 我已经在我的代码中以字符串形式获取密码。如果使用 char[],是否有其他方法可以避免此问题。
  • 不,但正如@Thilo 在对您的问题的评论中所说:如果有人可以读取您的应用程序的内存,那么您无论如何都敬酒。在这种情况下,他们也可以注入代码,并且他们也可以访问您合法地使用该值。我想说,就攻击媒介而言,这应该是您最不担心的问题之一。
猜你喜欢
  • 2021-04-04
  • 2021-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
  • 2011-03-27
  • 2015-05-10
相关资源
最近更新 更多