【发布时间】:2016-09-29 21:54:07
【问题描述】:
今天我收到一个请求,要求制定计划将部署在 tomcat 7 中的 Web 应用程序更新到 Java 1.8,原因是网站安全性。
所以我想知道将我们的 web 应用程序更新到 java 1.8 是否真的很重要,以及如果我们让我们的服务器使用部署在 tomcat 7 中的 java 1.6 会出现真正的问题吗?
最好的问候
【问题讨论】:
标签: java web-services security web
今天我收到一个请求,要求制定计划将部署在 tomcat 7 中的 Web 应用程序更新到 Java 1.8,原因是网站安全性。
所以我想知道将我们的 web 应用程序更新到 java 1.8 是否真的很重要,以及如果我们让我们的服务器使用部署在 tomcat 7 中的 java 1.6 会出现真正的问题吗?
最好的问候
【问题讨论】:
标签: java web-services security web
最大的风险可能不在于您的应用程序。从您的客户的角度来看,风险在于 Java 6 运行时容易受到许多 事物的影响。如果您的应用程序只支持 Java 6,他们需要在他们的工作站上安装 Java 6,但他们不希望这样做,因为这会使他们的工作站容易受到攻击。
如果在 Java 6 上运行,您的应用也可能容易受到攻击,例如,请参阅更新列表 here。这取决于您是否使用了自那时以来存在安全漏洞的任何 API。但我猜你的客户主要担心他们的工作站。
【讨论】:
大多数 java 1.6 代码应该可以编译并与 java 1.8 版本兼容。 在 Java 1.6(或更早版本)中已标记为已弃用的内容可能已从更高版本(1.7 或 1.8)中删除。如果您只是使用 java 1.8 编译器编译现有代码,这些都将是显而易见的。
正如另一个答案中提到的,java 1.6 的安全风险是升级的一个很好的理由。此外,1.7 版和更早的版本已被 Oracle 正式终止,因此只有 1.8 版获得公共安全更新。可以从 Oracle 订阅 Java 1.7 安全更新。我不确定是否有任何其他版本的 java 可用。
另一个问题可能是“我的 JEE 容器是否有 java 1.8 版本”。 1.8 已经发布了一段时间,所以我怀疑答案是“是”。
这里是 Oracle Compatibility Guide
【讨论】:
最后一次 JDK 1.6 和 JDK 1.8 更新于 2016 年 7 月 19 日。现在支持所有平台,但只有 Java 8 有公共安全更新。这是更新 jre/jdk 的一个很好的理由。 Java 8 支持 Java 6 的大部分特性,编译没有问题。但有些方法已被弃用。
结论是,我们需要使用受支持的技术 开发者全力以赴。
【讨论】: