現在のInternet Explorerセキュリティゾーンの検出
-
05-07-2019 - |
質問
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に互換性がなくなります。