- PR -

ダウンロードダイアログを出さない方法について

投稿者投稿内容
あひる隊長
常連さん
会議室デビュー日: 2003/07/23
投稿数: 36
投稿日時: 2004-02-12 15:01
現在Webアプリを開発しています。

ブラウザからファイルのダウンロードをしたいのですが
通常ダウンロードの場合、リンクをクリックすると
「開く」「保存」「キャンセル」のダイアログが表示されますが、
そのダイアログを表示しないでクライアントのアプリを立ち上げる方法がわかりません。
(例:XX.docファイルの場合、クライアントのWordが起動)

サーバ側で制御したいのですが、できるのでしょうか?
ちなみにダウンロードしたいファイルは
クライアント側で拡張子の関連付けを設定済みのファイルです。

宜しくお願いいたします。

Win2003Server + VS.NET 2003です。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-12 15:57
 クライアントのセキュリティに関わるので、できません。


 そのようなことができたとして、ウイルスを仕込んだ実行ファイルをダウンロードさせるページがあふれていたらどうします?
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-02-12 16:09
exeではなくて、文書ファイル(docとかpdfとか)をアプリケーションで開いて欲しいということでは?

http://www.studyinghttp.net/rfc_ja/rfc2183_ja.html

inlineとかどうです?(試してないけど)
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-02-12 16:27
引用:

上尾幽霊さんの書き込み (2004-02-12 15:01) より:
ちなみにダウンロードしたいファイルは
クライアント側で拡張子の関連付けを設定済みのファイルです。



拡張子の関連付けでOpenのアクションではなく、MIMEを設定する必要があると思います。

[ メッセージ編集済み 編集者: todo 編集日時 2004-02-12 16:29 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-12 16:56
引用:

一郎さんの書き込み (2004-02-12 16:09) より:

exeではなくて、文書ファイル(docとかpdfとか)をアプリケーションで開いて欲しいということでは?


 じゃぁ、

そのようなことができたとして、マクロウイルスを仕込んだWORD文書をダウンロードさせ、開かせるページがあふれていたらどうします?

と改めます ^^;
あひる隊長
常連さん
会議室デビュー日: 2003/07/23
投稿数: 36
投稿日時: 2004-02-12 17:10
みなさんレスありがとうございます。

おっしゃる通り危険性は認識しているのですが、それを承知で
技術的に可能であるかどうかということで宜しくお願いいたします

例えばWordの場合、
IISのMIMEに拡張子「.doc」
MIMEの種類「application/ms-word」
と設定

コード上で
Response.AppendHeader( "content-disposition","inline; filename="test.doc");
Response.ContentType = "application/ms-word";
Response.WriteFile(@"c:\test\test.doc");
Response.End();

としましたが、やはりダイアログが表示されました。
ただ拡張子の関連付けのところで「ダウンロード後に開く確認する」のチェックが
外れていればダイアログが表示されないのですが、
「ダウンロード後に開く確認する」がチェックされていた場合はどうやっても
ダイアログが表示されてしまうのでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-12 18:11
引用:

上尾幽霊さんの書き込み (2004-02-12 17:10) より:

おっしゃる通り危険性は認識しているのですが、それを承知で
技術的に可能であるかどうかということで宜しくお願いいたします


 サーバ側で制御してクライアントの設定を上書きすることが「技術的に可能」であるなら、それは「セキュリティホール」です。。。
TomScissors
ベテラン
会議室デビュー日: 2003/06/05
投稿数: 79
投稿日時: 2004-02-12 18:11
docやらexeがサーバー側の設定のみでダイアログが表示されないようになってしまうと、
おそらくそのブラウザはセキュリティの問題として話題に上り、修正されるでしょう。
(逆に言うと、もしこれをやろうとすると、セキュリティの隙を突かないと無理という事です)

結論を言えば、クライアント側で設定をいじらないと無理です。

スキルアップ/キャリアアップ(JOB@IT)