使用Java 7u55,如果网页尝试通过JavaScript与其进行交互,并且该页面未在清单的Caller-Allowable-Codebase属性中列出,则applet将显示警告消息(即使使用受信任的证书进行签名)。
如果Caller-Allowable-Codebase:服务器的IP地址被给出,则不会看到安全提示。
但是,我们的应用程序是一个Intranet站点并托管在IIS中。
客户端系统访问http:://<ServerName>/<WebSite VirtualPathName>
网站
服务器名称/ IP地址不是固定的。该应用程序可以安装在任何Web服务器中。
有没有办法停止警告提示?
答案 0 :(得分:0)
简短的回答是否定的。唯一的事情是您可以在属性中放置几个域/ ips:
host.example.com 127.0.0.1 192.168.1.100
如果是内部网络,您可以尝试使用192.168.0。*或192.168.0.1/24
在release notes of 7u55中,您可以阅读以下内容:
使用&#34; &#34;在Caller-Allowable-Codebase属性中如果是独立的 星号()被指定为的值 Caller-Allowable-Codebase属性,然后从JavaScript代码调用 RIA将显示安全警告,用户可以选择 允许通话或阻止通话。
此外,JAR文件清单属性文档说明:
Caller-Allowable-Codebase属性用于标识 JavaScript代码可以在没有的情况下调用RIA的域 安全提示。将此属性设置为托管该属性的域 JavaScript代码。如果从JavaScript代码调用而不是 位于Caller-Allowable-Codebase指定的域中 属性,呼叫被阻止。
如果Caller-Allowable-Codebase属性不存在,则调用来自 您的RIA的JavaScript代码会显示安全警告,并且用户可以使用 允许通话或阻止通话的选择。对于未签名的RIA, 需要访问RIA的JavaScript代码必须相同 location作为RIA的主JAR文件,否则,用户是 提示允许访问。
有关值的说明,请参阅Codebase属性 允许。如果将独立星号(*)指定为值 Caller-Allowable-Codebase属性,然后从JavaScript调用 您的RIA代码显示安全警告,用户可以选择 允许通话或阻止通话。记住选择的一个选项是 还提供了,如果选择,则不再显示警告 RIA推出。
<强>更新强> 我知道这令人沮丧,而且在个人方面,我认为oracle会因为他们最新的安全决策而破坏小程序的使用(或者剩下的)。正如您所看到的那样,限制仅适用于您
你能做的是:
&#34;指定多个域,用空格分隔域&#34;
我还没试过,但是我会将所有内部ip地址范围放在那里:
Caller-Allowable-Codebase: 10.* 192.168.* 172.* 169.*
如果可行,您可以尝试添加所有IP地址范围; - )
Caller-Allowable-Codebase: 1.* 2.* 3.* 4.* 5.* .... 255.*
如果子网划分语法有效,您也可以尝试:
0.0.0.0/0 (whole IP 4 address space) or something like that