小程序再也不能给家里打电话了

Applets cannot phone home any longer

本文关键字:打电话 程序 再也不 也不能      更新时间:2023-09-26

我容忍applet不能执行任意HTTP请求的安全限制。

似乎,然而,从一年前开始,甚至不可能对这个applet本身所在的URL进行HTTP请求。至少如果请求是通过JavaScript调用applet的方法触发的。

这意味着甲骨文的一些安全人员决定让小程序甚至不再"打电话回家"。有读者能证实这一政策变化吗?

在我的页面上,我有一个测试applet,可以用JavaScript来执行HTTP请求。这在过去是有效的。然而,从几个月前开始,它被破坏了,并以一个安全违反异常结束。

访问被拒绝(java.net.SocketPermission 91.90.146.25:80 connect,resolve)

下面的代码显示了执行HTTP请求的公共方法:

public class HttpRequestor extends Applet {
  public String sendRequest(String urlstring) {
    String response = "";
    String line = "";
    URL url;
    try {
      url = new URL( urlstring );
      BufferedReader in = new BufferedReader(new InputStreamReader( url.openStream() ));
      while ((line = in.readLine()) != null)
        response += line + "'n";
      return response;
      }
    catch (Exception ex) {
      return ex.getMessage();
      }
   }
}

在Java运行时版本1.6.0_29测试

我已经看到了这个问题的答案,但这并没有回答我的问题:这种行为变化的原因是什么?(而且,我不确定那个问题的解决是否也能解决这个问题。)

这种行为变化的原因是什么

Oracle的决定