【问题标题】:Can a signed Java Applet/Web Start manipulate content in a cross-site IFRAME?已签名的 Java Applet/Web Start 能否操作跨站点 IFRAME 中的内容?
【发布时间】:2010-01-25 04:14:59
【问题描述】:

已签名的 Java Applet 或 Web Start 应用程序是否可以写入不同域下 IFRAME 的 DOM?

它们是已签名的 applet/javaws 是否允许它们忽略浏览器的标准跨浏览器安全性?

如果这确实有效,它在主要浏览器中的支持情况如何?

谢谢!

编辑

我的动机是向我无法控制的第三方网站添加类似浏览器插件的工具。完全不需要我使用 Java --- 鼓励任何想法或建议。

【问题讨论】:

    标签: java dom applet cross-domain


    【解决方案1】:

    不,Java,即使是签名的 Java 小程序,也不赋予 JavaScript 权力。

    【讨论】:

      【解决方案2】:

      Java 不是 JavaScript,因此 Applet 没有处理 IFrame 传输。 Applet 在 JVM(例如 Sun)中运行,JavaScript 在浏览器 JSEngine(Gecko)中运行

      所以,忘记小程序。 如果您考虑浏览器插件,请查看 FireBug, 如果您想要跨浏览脚本,请尝试使用 javascript 标签传输。

      【讨论】:

        【解决方案3】:

        对 DOM 的 Applet 操作是通过 LiveConnect 完成的,所以我想浏览器 JavaScript 安全性应该到位并阻止您。当然,你可以绕过它。我不知道该怎么做。

        和以往一样,我建议不要签署代码,除非你真的真的知道你在做什么。

        【讨论】:

          【解决方案4】:

          顺便说一句,Java 小程序能够与 javascript 通信,反之亦然。

          查看http://www.rgagnon.com/howto.html

          JAVA 小程序:

          import java.applet.*;
          import java.net.*;
          
          public class InJava4 extends Applet{
            public void init(){
              String msg = "Hello from Java (using javascript alert)";
              try {
                getAppletContext().showDocument
                  (new URL("javascript:doAlert(\"" + msg +"\")"));
                }
              catch (MalformedURLException me) { }
            }
          }
          

          Javascript 和 HTML

          <HTML><HEAD></HEAD><BODY>
          <SCRIPT>
          function doAlert(s) {
             alert(s);
             }
          
          </SCRIPT>
          <APPLET CODE="InJava4.class"
                  NAME="myApplet"  MAYSCRIPT
                  HEIGHT=10 WIDTH=10>
          </APPLET>
          </BODY>
          </HTML>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-11-03
            • 1970-01-01
            • 1970-01-01
            • 2012-06-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多