Safari 7,Mac OS X:通过javascript确定Java是否处于“不安全”模式

好的,我们有一个Java applet,它提供了将文件上传到服务器的功能.一些have already noticed,用户需要为我们的网站变为“不安全”的java模式才能让applet工作.

确定java的“安全性”的一种方法是尝试加载“假”小程序并查看它的行为方式.这需要一些时间来加载JRE,这不是我想要的.

问题是:我们能否确定java是否仅在使用JavaScript的不安全模式下运行?我真的希望Apple增加这种可能性.

事实上,一些链接到描述这种行为的地方将是值得赞赏的.

解决方法:

我相信你误解了我原来的后期Java applet和Safari 7. Safari 7实际上并没有“阻止”applet加载. applet的加载方式与在Safari 6下加载的方式完全相同.唯一的问题是,如果applet以“安全模式”运行,Safari 7(而不是6及以下)实际上限制applet访问文件系统“这是默认设置.

因此,如果您的applet不需要访问本地文件(可能还有其他一些I / O,但我没有尝试其他选项) – 它不会发现任何错误.

但是,只要您的applet尝试访问本地文件系统,它就会获得FileNotFoundException.

所以对我来说,检查applet是否处于“安全模式”的最佳方法是简单地尝试访问您知道存在且可供用户访问的文件夹(我认为您可以开始尝试“.”或“.. “).如果不是访问文件夹而是FileNotFoundException,您可以假设(并建议您的用户)applet以“安全模式”运行.

另外我绝对肯定,如果特定小程序处于“安全模式”,或者询问Safari 7是否以“安全模式”或“不安全模式”运行所有小程序,则无法通过js进行检查.

希望这可以帮助.

上一篇:java 面试经典题


下一篇:Java和Axis相机