从Java 7u11开始,Java applet的默认安全级别从中等更改为高 - 这可能会导致您在针对Java 7u11运行应用程序时看到的新安全警告。来自 Java 7u11发行说明 :
的 概要:默认安全级别设置已更改为高 强> 默认 Java小程序和Web启动应用程序的安全级别 从“中”增加到“高”。这会影响下的条件 哪些未签名(沙盒)Java Web应用程序可以运行。先前, 只要您安装了最新的安全Java版本的applet 和Web启动应用程序将一如既往地继续运行。随着 “高”设置用户始终在任何未签名之前发出警告 运行应用程序以防止静默利用。
IMO,这相当于Oracle承认Java的攻击面太大,无法通过下载攻击充分防止驱动,例如用户只是访问运行Java的网页而网页利用未修补的漏洞Java会破坏用户的系统。因此,Oracle的响应是提高浏览器中Java应用程序的安全级别,以便在用户不同意继续执行时永远不会运行它们。许多人会说这对于整个互联网来说是一件好事,但是如果您以前依赖未签名的非恶意应用程序在没有安全警告弹出窗口的情况下交付给用户,那么这是不可取的。
使用Yahoo或Pogo游戏,可能是游戏已经签名,在这种情况下,将在第一次发布来自发布者的游戏时显示警告消息,但用户可能选择始终信任发布者,在这种情况下用户当用户从同一发布者访问applet时,将随后不会显示警告。如果您愿意,您可以为您的应用程序执行相同的操作。
您还可以请求用户将其安全首选项从默认值降低(例如从高到中),然后,当您运行未签名的应用程序时,将不会出现警告消息 - 但这是不可取的,因为Oracle更改了默认安全首选项中到高有充分理由。
JavaFX与Swing或AWT applet的警告行为应该没有区别 - 如果有的话,这将是向Oracle报告的关键错误。
独立于Java安全设置,各个浏览器供应商可能会选择阻止Java或Java版本并向用户显示警告。这些块消息在各种浏览器中的外观的一些图像都在 禁用Java警告外观&影响Java Web Start应用程序 (帖子名称提到了Web Start应用程序,但帖子中的警告图像与applet相关 - 无论这些applet是基于Swing还是基于JavaFX)。
以下是Java将为未签名的应用程序生成的警告消息示例。通过单击“验证Java”按钮,在Mac OS X 10.8上生成警告消息 Oracle的java.com网站 在运行Java 7u11时。