質問

Internet Explorerの現在のセキュリティゾーン設定をプログラムで決定する方法はありますか?

IEのセキュリティポリシーにより、サイトでXMLHttpRequest ActiveXコントロールがブロックされる時期を知りたいのですが、サイトが実際に作成しようとするため、黄色のバーが上部に表示される前に(" Toセキュリティを保護するため、Internet Explorerは、このWebページがコンピューターにアクセスできるスクリプトやActiveXコントロールの実行を制限しています。")

ありがとう。

役に立ちましたか?

解決

:承認済みの回答を削除することはできませんが、この回答は便利です

元の答え:

IEで使用されているセキュリティゾーンを検出するJavaScriptのハンドルはありません。

必要なことを行うために、document.locationを確認し、そこからセキュリティゾーンを決定できます。

他のヒント

IE7では、次のJavaScriptを使用して、サイトが信頼されているかどうかを把握できます。

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

これは、IE7以降では、スクリプトがインターネットおよび制限ゾーンのwindow.statusメソッドを介してステータスバーのテキストを設定できなくなったという事実に基づいています。 Internet Explorer 7のリリースノート

をご覧ください。

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)")

インターネットゾーンであると仮定しますが、私のコンピューターでは、独自のセキュリティ設定を備えた信頼できるゾーンです。 jscriptを使用すると、各ゾーンの個別のセキュリティ設定値を取得できなくなります。

その愚かな黄色のバーなしでactivexオブジェクトを実行することは可能ですが、comオブジェクトguidを安全なcomオブジェクトのリストに追加する必要があります。これはレジストリを介して行われます。フラッシュactivex、wmp activexなどのような愚かな役に立たないがらくたオブジェクトを除き、ほとんどのオブジェクトではデフォルトは安全ではありません

  

IEのセキュリティポリシーにより、サイトでXMLHttpRequest ActiveXコントロールがブロックされる時期を知りたい

ゾーンごとの設定を読み取ることができないため、自分がどのゾーンにいるのかを知っていても、IE6SP2の時点では、ActiveXに影響する設定があります。ゾーンベース。 (IE7にはさらにコントロール固有の設定があります。)

XMLHttpRequestを投機的に作成し、黄色のバーを回避する方法はありません。ネイティブの‘ new XMLHttpRequest()’オブジェクト。これによりIE6に互換性がなくなります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top