ブラウザーのセキュリティレベルをスクリプトを使って下げるには?


shad  2004-07-16 01:18:35  No: 114835  IP: [192.*.*.*]

Web site上のスクリプトからブラウザーのセキュリティレベルを下げる、若しくはインターネットなのにイントラネットと誤認させるにはどうすればいいのでしょう?

編集 削除
魔界の仮面弁士  2004-07-16 09:15:43  No: 114836  IP: [192.*.*.*]

それができてしまったら、セキュリティホールになってしまうような…。(^^;


スクリプトベースではなく、運用レベルであれば、IEのオプションで、
特定のURLを『信頼済みサイト』として登録しておけば、
「インターネット ゾーン」とは異なるセキュリティを割り当てられますので
それで回避できるかも知れません。

プログラムベースで割り当てるなら、こんな感じで。

Option Explicit

Private Const CLSIDSTR_InternetSecurityManager _
             = "{7B8A2D94-0AC9-11D1-896C-00C04FB6BFC4}"
Private Const CLSIDSTR_InternetZoneManager _
             = "{7B8A2D95-0AC9-11D1-896C-00C04FB6BFC4}"
Private Const IIDSTR_IInternetSecurityManager _
             = "{79eac9ee-baf9-11ce-8c82-00aa004ba90b}"
Private Const IIDSTR_IInternetZoneManager _
             = "{79EAC9EF-BAF9-11CE-8C82-00AA004BA90B}"

Private Sub Command1_Click()
    Dim clsid As UUID
    Dim iid As UUID
    Dim ISM As IInternetSecurityManager
    Dim ZM As IInternetZoneManager
    Dim L As Long
    Dim ZA As ZONEATTRIBUTES

    CLSIDFromString StrPtr(CLSIDSTR_InternetSecurityManager), clsid
    CLSIDFromString StrPtr(IIDSTR_IInternetSecurityManager), iid
    L = CoCreateInstance(clsid, Nothing, CLSCTX_INPROC_SERVER, iid, ISM)
    If L <> 0 Then
        Err.Raise L
        Exit Sub
    End If

    CLSIDFromString StrPtr(CLSIDSTR_InternetZoneManager), clsid
    CLSIDFromString StrPtr(IIDSTR_IInternetZoneManager), iid
    L = CoCreateInstance(clsid, Nothing, CLSCTX_INPROC_SERVER, iid, ZM)
    If L <> 0 Then
        Err.Raise L
        Set ISM = Nothing
        Exit Sub
    End If

    ZM.GetZoneAttributes URLZONE_TRUSTED, ZA

    ZA.dwFlags = ZA.dwFlags And (Not ZAFLAGS_REQUIRE_VERIFICATION)
    ZA.dwTemplateCurrentLevel = URLTEMPLATE_CUSTOM
    ZM.SetZoneAttributes URLZONE_TRUSTED, ZA

    Dim sPattern As String
    Dim lp As Long
    sPattern = Text1.Text   'https://〜〜〜
    lp = StrPtr(sPattern)
    ISM.SetZoneMapping URLZONE_TRUSTED, ByVal lp, SZM_CREATE

    Set ISM = Nothing
    Set ZM = Nothing
End Sub

編集 削除
Pandora  2004-07-18 02:48:45  No: 114837  IP: [192.*.*.*]

おぉ。なんかよく分からんことが・・・・
.vbs  で保存してみるとライン13文字15  エラー・・・
ぁ、URLは指定しましたけど・・・
むー  分からん;;
自分はVBはあまりいじったことが無くて;;
今回突然いじることになったので・・・
全然分からんです  何が書いてあるのか;;

編集 削除
魔界の仮面弁士  2004-07-18 18:01:09  No: 114838  IP: [192.*.*.*]

基本的に、スクリプトベースでは「無理」という事です。
先にも書いたように、運用で回避してください。

先のコードにしても、VBSの物ではなく、VB5/VB6用のコードです。
Webと連携させたいなら、先のコードをActiveX化するか
(それにしても、実行のためにセキュリティレベルを下げる必要がある)、
または、Webアプリではなく、クライアントアプリケーションとして
組む必要があるかと。

編集 削除
Pandora  2004-07-20 15:44:06  No: 114839  IP: [192.*.*.*]

そうですか・・・
そうですね・・・ActiveXで送り込もうとしても、その時点で警告出てちゃ意味無いですね;;
ちなみに  shad = Pandora  でした。最初のんミスです;;

編集 削除