从Java 7u11开始,Java applet的默认安全级别已从“中”更改为“高”-这可能会导致在针对Java 7u11运行应用程序时看到的新安全警告.从Java 7u11 release notes开始:
Synopsis: Default Security Level Setting Changed to High
The default
security level for Java applets and web start applications has been
increased from “Medium” to “High”. This affects the conditions under
which unsigned (sandboxed) Java web applications can run. Previously,
as long as you had the latest secure Java release installed applets
and web start applications would continue to run as always. With the
“High” setting the user is always warned before any unsigned
application is run to prevent silent exploitation.
IMO,这意味着Oracle承认Java的攻击面太大,无法充分阻止通过下载进行攻击,例如,用户仅进入运行Java的网页,而该网页利用了未修补的漏洞Java危害用户的系统.因此,Oracle的响应是提高浏览器中Java应用程序的安全性,这样,如果没有用户首先同意继续执行,就永远无法运行它们.许多人会说,这通常对Internet来说是一件好事,但是如果您以前依靠未经签名的非恶意应用程序将其交付给用户却没有安全警告弹出窗口,那将是不希望的.
对于Yahoo或Pogo游戏,大概是游戏已经签名,在这种情况下,第一次运行发布者的游戏时将显示警告消息,但用户可以选择始终信任发布者,在这种情况下,用户当用户从同一发布者访问小程序时,将永远不会显示警告.如果愿意,您可以为您的应用程序执行相同的操作.
您还可以要求用户将其安全性偏好设置从默认值降低(例如,从“高”降低到“中”),然后,当您运行未签名的应用程序时,将不会出现警告消息-但这是不可取的,因为Oracle将默认的安全性偏好设置从中到高是有充分理由的.
JavaFX与Swing或AWT applet的警告行为应该没有区别-如果存在警告,那将是一个严重的错误,需要报告给Oracle.
独立于Java安全设置,各个浏览器供应商都可以选择阻止Java或Java版本并向用户显示警告.这些阻止消息在各种浏览器中的外观的某些图像位于Disabled Java warning appearance & affect on Java Web Start apps(帖子名称中提到了Web Start应用程序,但是帖子中的警告图像与applet相关-不管这些applet是基于Swing还是基于JavaFX的).
这是Java将为未签名的应用程序生成的警告消息的示例.运行Java 7u11时,通过在Oracle’s java.com site上单击“验证Java”按钮,在Mac OS X 10.8上生成了警告消息.