VB6.0(SP5) + IE6(SP1)の環境で、既にページが表示されているIEにアクセスして選択された部分のソースを取得する処理を行っています。
しかし、フレーム分割されたページの場合、IEのセキュリティゾーンがインターネットのときは問題ないのですが、ゾーンがイントラネットのときにアクセスが拒否されましたというエラーになってしまいます。
同一のページにもかかわらずゾーンの設定によってアクセスできません。(中のセキュリティ設定は全て同じ)
回避方法をご存じの方がおられましたら、よろしくお願いいたします。
便乗ですが、自分も同じような状態なので、
良い方法があったら知りたいです。
インターネットゾーンでも異なるドメインがフレームに混在する場合、
同様になりますが、それと類似した話なのでしょうか。
回答でなくすみません。
IEのセキュリティ仕様で、異なるドメインがフレーム内に混在すると
「アクセスが拒否されました」となりますが、
どうもイントラネット且つフレーム使用の場合も何故か同様の扱いになるようです。
インターネットオプション
→「セキュリティ」タブ
→イントラネット
→サイト
→詳細設定
→対象のサーバURLを追加(例:http://192.168.0.1)
とすると本件は解消できました。
理由がわかる方おられましたらフォローお願いします。
過去ログ見たら、こんな例があったので、参考までにご覧なって下さい。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200407/04070100.txt
イントラネットもインターネットも、同じと見て良いのではないでしょうか?
恐らく、
WebBrowser1.Document.frames(0).(フォーム名).(オブジェクト名)
てな感じでのアクセスだと思いますので。
すみません。こんな発言しか出来なくて・・・ (; ;)
>影さん
アドバイスありがとうございます。
教えて頂いた記事は、過去に悩んでいた時に読んでおります。
少し紛らわしい表現でした、すみません。
イントラネットゾーンにおいては、ドメインが同じ、プロトコルも全てhttp、であっても
フレームであるというだけで、「アクセスが拒否されました」となってしまうようなのです。
で、前述の処置を施すとその現象自体は解決出来たのですが、
はて、何故なのだろう、と言うことなのです。
現象は回避出来ても理由を把握しておかねば気持ちが悪いので、
何かわかる方おりましたら、引き続き宜しくお願いします。
お読みになりましたか・・・。
と言う事は、ですよ。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200312/03120082.txt
も、
http://support.microsoft.com/default.aspx?scid=kb;ja;167796
も読んだ、という事ですか・・・。
Navigate対象のページとフレームは、同一サーバ且つ同一仮想ホストの、と言う事でしょうから。
・・・追加してないサーバのページ(またはフレーム)を読もうとした、なんて考えるのは、僕の考えすぎかしら・・・?
助言、ありがとうございます。
2つのサーバをA(イントラ),B(外部)とし、
(A)http://www.intra.com/test/index.html(イントラネットゾーン)
(B)http://www.outer.com/test/index.html(外部)
testフォルダ下(全て同じフォルダに収めている)は
・index.html(フレーム親)
・top.html(フレーム子)
・left.html(フレーム子)
・right.html(フレーム子)
とすると、ジャムさんも言われているように丸々同じtestフォルダでも(A)はNGで(B)はOKとなるのです。
上記条件ではとりあえず「フレーム構成が同一サーバ且つ同一仮想ホスト」は満たしているはずだと思います。
(私の認識違いであったらすみません)
また、HTAファイルをサーバに置く手段は事情で出来ないのです。
(本来の対象のサーバは自分の管理下でなく、不特定多数)
アクセス拒否の回避自体は前述の方法(IE設定のイントラネットサイト追加)で
出来ているのでとりあえずは良いのですが、この方法で回避できた理由は理解しておきたい、という事なのです。
因みに、ですよ。
5件前の設定の時に、セキュリティレベルの比較なんて、しました?
あ、いや、今でも良いんですが・・・。
・・・いやね、ふと思っただけなんですけど。
レベルが違ったら(もしくはレベルをカスタマイズしたら)、動作は変わるかなぁ、なんて。
・・・え、同じ?
だとしたら、レベルのカスタマイズで、詳細まで見てって下さい。
もしかしたら、なんて事もありますから。
ジャムさんがかかれているように、設定も見ています。
全ての項目を最も甘くしています。
インターネットオプションの設定(イントラネットゾーンの追加)
の有無にかかわらず、対象URLはイントラネットゾーンとしては認識するのですが、
(つまりセキュリティ設定も同じものを適用しているはず)
明示的にオプションでURLを指定するか否かの違いで挙動が違うので、
その点に、どのような違いが発生するのだろう、と思うのです。
IPアドレスを直接埋め込んだURLを信頼済みサイトに入れて、そこにアクセスする方がトラブル少ないですよ。
IPアドレス直接指定なら実体がイントラネット上のホストやローカルホストでもインターネットゾーン扱いのようですから(127.0.0.1はまた別のおかしな挙動があるのでお勧めしませんが)
>127.0.0.1
・・・あ、ループバックアドレスってやつですね。
今までの発言を、ずっと読み返してみました。
>2005/02/09(水) 09:15:54
の発言です。一つ疑問が。
拒否されたのは、親フレームですか?
それとも、子フレームのどれか、と言う事でしょうか?
・・・え、と。連続発言です。ご勘弁を m(_ _)m
そして、前回発言の先頭2行、お気になさらずに。どうでも良い事ですので。
http://neta.ywcafe.net/000368.html
フレームに関して、という点だけですが、良かったのでご紹介を。
次に、前回発言で書きそびれた部分についての質問です。
>また、HTAファイルをサーバに置く手段は事情で出来ないのです。
>(本来の対象のサーバは自分の管理下でなく、不特定多数)
との事ですが・・・、現行のサーバ・クライアント間で、通信が制限されている、なんて事はありませんか?
・・・ん? でもフレーム使わない場合は、許可されるのか・・・?
現在、僕もイントラ内で、WebBrowserコントロールを使用して作成中ですが、フレームを使用しても、特に症例はありませんので、何とも言い様は無いのですが。
・・・他に思い浮かばない・・・。思いついたら、また来ます。
ツイート | ![]() |