tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルReturnValueについて
記事No10317
投稿日: 2010/11/24(Wed) 14:59
投稿者もっさん
VB2008でWebアプリケーションを作成しています。

親画面から子画面を[showModalDialog]で呼び出して
子画面で入力された情報を[ReturnValue]にて返すという単純な構成なのですが

ローカルのプロジェクト内に親画面、子画面ともに存在し
デバッグで動作させたときは問題ないのですが

上記のプロジェクトをセットアップしサーバ上に上げて
開発環境からサーバー上の子画面を呼んで動かすと
ReturnValueの値が常に空になってしまいます。

[local]親→[local]子でReturnValueした場合はOK
[local]親→[サーバ]子でReturnValueした場合はNG

子画面自体はローカルもサーバも全く同じ物なのですが
正しく動作してくれていないという事は
URLが違うと値が受け渡されないという事でしょうか?

[ツリー表示へ]
タイトルRe: ReturnValueについて
記事No10318
投稿日: 2010/11/24(Wed) 15:15
投稿者魔界の仮面弁士
> [local]親→[サーバ]子でReturnValueした場合はNG

他ドメインや他サーバーのオブジェクトにはアクセスできません。
それぞれの URL が、同一のドメイン上に存在している必要があります。

http://www.example.com/ から http://www2.example.com/ の物を呼び出したり、
http://192.0.2.0/ から http://www.example.com/ を呼び出すのは NG です。

[ツリー表示へ]
タイトルRe^2: ReturnValueについて
記事No10319
投稿日: 2010/11/24(Wed) 15:26
投稿者もっさん
魔界の仮面弁士さま
早速のご返事有難うございました

運用レベルで行いたかった事は

親画面がJavaのプロジェクトで
http://192.0.2.1:1000/
にて動作しているところから

子画面が当方の.netのプロジェクト
http://192.0.2.2:2000/
をShowModalDialogで呼び出して、
最終結果をReturnValueする予定でした。

このような場合もやはり同一のドメイン上とは言えないと思っていいのでしょうか

[ツリー表示へ]
タイトルRe^3: ReturnValueについて
記事No10320
投稿日: 2010/11/24(Wed) 16:03
投稿者魔界の仮面弁士
> http://123.456.789.100:1111/
> http://123.456.789.200:2222/
上記は、もはや IP では無いという点はさておき:

# 例示する場合には、ドメインならば example.com 、
# IPv4 なら 192.0.2.0〜192.0.2.255 を使う仕様だったり。


> このような場合もやはり
XSS(クロスサイトスクリプティング)への対策として、そのような仕様になっています。
同一サーバー上であれば、別フォルダ上のアプリケーションでも呼び出せますが、
IP またはドメイン名が 1 bit でも異なれば、それは別のサーバーであると認識されます。


> 同一のドメイン上とは言えないと思っていいのでしょうか
抜け道があるような無いような。
http://msdn.microsoft.com/ja-jp/library/cc392337.aspx
http://msdn.microsoft.com/ja-jp/library/cc392321.aspx
http://support.microsoft.com/kb/814458/ja

[ツリー表示へ]
タイトルRe^4: ReturnValueについて
記事No10321
投稿日: 2010/11/24(Wed) 16:27
投稿者もっさん
> # 例示する場合には、ドメインならば example.com 、
> # IPv4 なら 192.0.2.0〜192.0.2.255 を使う仕様だったり。
申し訳ありません、修正しておきました。

抜け道があるかもしれませんが
基本的に推奨されるべき動作では無いと思われますし
それが仕様ならば納得出来ますので
他の方法で対処していきたいと思います。

細かな説明ありがとうございました。

[ツリー表示へ]