【问题标题】:Detecting Current Internet Explorer Security Zone检测当前 Internet Explorer 安全区域
【发布时间】:2010-10-12 03:57:05
【问题描述】:

是否有任何以编程方式确定 Internet Explorer 当前安全区域设置的方法?

我想知道我的站点何时会因为 IE 安全策略而阻止 XMLHttpRequest ActiveX 控件,但在站点实际尝试创建它并因此导致黄色条出现在顶部之前(说“帮助为了保护您的安全,Internet Explorer 已限制此网页运行可能访问您计算机的脚本或 ActiveX 控件。”)

谢谢。

【问题讨论】:

    标签: javascript html security internet-explorer xmlhttprequest


    【解决方案1】:

    在 IE7 中,您可以使用以下 JavaScript 来了解您的网站是否受信任:

    window.status = "test";
    if (window.status == "test")
      alert("Trusted, or local intranet");
    else
      alert("Not trusted, or internet");
    

    这是基于在 IE7 及更高版本中,脚本无法再通过 Internet 和受限区域中的 window.status 方法设置状态栏文本。见Release Notes for Internet Explorer 7

    【讨论】:

      【解决方案2】:

      安全区域无关紧要,因为 Windows 用户可以自行确定哪些协议由哪个区域处理。例如,我将整个 http 和整个 https 区域添加到受信任站点区域(区域 2)。这是通过密钥完成的

      HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet     Settings\ZoneMap\ProtocolDefaults
      

      您可以通过 javascript 检查 document.protocol,但这对您有什么帮助?

      if (document.protocol == "HTTP (HyperText Transfer-Protokoll)")
      

      您假设它是 Internet 区域,但在我的计算机上,它是受信任区域,具有自己的个人安全设置。很遗憾 jscript 不允许您获取每个区域的单独安全设置值。

      可以在没有那个愚蠢的黄色条的情况下执行 activex 对象,但是您需要将 com 对象 guid 添加到安全 com 对象列表中。这是通过注册表完成的。默认值对于大多数对象都是不安全的,除了一些愚蠢的无用垃圾对象,如 flash activex、wmp activex 和 stuff

      【讨论】:

        【解决方案3】:

        我想知道我的网站什么时候会因为 IE 安全策略而阻止 XMLHttpRequest ActiveX 控件

        即使您确实知道自己所在的区域,您也无法读取,因为您无法读取每个区域的设置,并且从 IE6SP2 开始,还有更多影响 ActiveX 的设置无法在每个区域上进行配置-区基础。 (IE7 有更多特定于控件的设置。)

        我没有办法推测性地创建 XMLHttpRequest 并避免黄色条,只使用本机的“新 XMLHttpRequest()”对象,这会使您与 IE6 不兼容。

        【讨论】:

          【解决方案4】:

          注意:我无法删除已接受的答案,但您可以找到this answer useful

          原答案:

          JavaScript 中没有句柄来检测 IE 正在使用的安全区域。

          为了做你需要做的事情,你可以检查 document.location 并从中确定安全区域。

          【讨论】:

          • 如何从url中识别内网区域?这对添加到不同区域或区域限制更改的网站有何影响?
          • 您将无法访问任何自定义安全区域信息 - 但您可以做出一般性决定。
          猜你喜欢
          • 2021-07-05
          • 2019-11-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-10
          相关资源
          最近更新 更多