【问题标题】:Java applet security warning for application involving disk read涉及磁盘读取的应用程序的 Java 小程序安全警告
【发布时间】:2011-04-16 11:28:01
【问题描述】:

我有一个 java 小程序,当用户访问网页时,它会下载到用户的浏览器,并允许他们将可恢复的文件上传到我的服务器。显然,这需要小程序访问用户的硬盘,据我所知,这是在常规沙盒小程序可以运行的范围之外。用户会看到一个安全警告弹出窗口,要求他们允许允许此小程序运行。

我已经使用verisign 对applet 进行了签名,并且从中获取applet 的链接是通过SSL 并带有经过验证的证书。这些都不会使警告消失。

有没有办法让所有警告消失?谁能解释一下幕后发生了什么?

【问题讨论】:

    标签: java applet


    【解决方案1】:

    JNLP 有一个 FileOpenService,它允许不受信任的 Java Webstart 应用程序向用户显示文件打开对话框并访问用户选择的文件:

    http://docs.oracle.com/javase/1.5.0/docs/guide/javaws/jnlp/javax/jnlp/FileOpenService.html

    【讨论】:

    • 即使 JNLP 是一个更好的主意,我认为 OP 的应用程序已经存在并且可以与小程序一起使用,所以这并不能真正回答问题。
    • 如果服务是从带有 -tag 的旧式小程序调用的,我不确定它是否有效。但是 JNLP 可以启动小程序,并且可以正常工作。
    • 用于演示。 FileObject 参见pscode.org/jws/api.html#fs。自 1.6.0_10 中引入了 Plug-In 2 架构以来,JNLP 小程序可以嵌入到网页中。 pscode.org/gifanim/#run 的 GIFanim 小程序形式是一个嵌入式 JNLP 小程序。基于 JNLP 的提示没有传统提示那么可怕,因为它们出现在需要它们的确切时刻,并且更具体到所需的扩展权限。
    【解决方案2】:

    您无法避免此消息,如果可以,这将是一个安全问题。

    授予小程序权限

    如果您尝试运行小程序示例,当您单击“单击我”按钮时,您无疑会看到错误。这是因为 Java 2 平台安全性不允许小程序在没有明确许可的情况下读写文件。

    小程序不能访问本地系统资源,除非它被特别授予访问权限。因此,要让 FileUIAppl 程序从 text.txt 读取并写入 text.txt,小程序必须是为每个文件授予适当的读取或写入访问权限。

    使用策略文件授予访问权限,并使用要用于正在查看的小程序的策略文件启动 appletviewer。

    您可以做的是进行配置(策略文件)以允许此小程序使用某些文件。但是您必须手动执行此操作(出于明显的安全原因)。检查下面的链接。


    资源:

    【讨论】:

    • 这是否消除了确认对话框?我希望不会,否则我真的很害怕:我访问的任何带有签名小程序的网站都可以读取我的硬盘?
    • 不,用户必须使用手动添加的预配置策略文件。但你是对的,这将是一个可怕的安全问题
    • 资源链接断开。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多