環境
WINDOWS2003,IIS5.0分離モード,ASP
現象
1.ASPで作成したWEB画面から画面に表示されているデーターをサーバー側フォルダーに
作成します。
2.次にそのTEXTファイルをLHAを使用して圧縮します。
3.圧縮したLHZファイルをクライアントPCにダウンロードします。
で、従来のNT機(IIS4.0,ASP)では正常に圧縮、ダウンロードできていましたが、TEXTをLHAを
使用して圧縮できません。
サーバーにアドミニストレーター権限を付加すればできます。アドミンの権限を付加しないで
うまくいく方法はないでしょうか。
よろしくお願いします。
http://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20001125/1/
またもやIISに深刻なセキュリティ・ホール:ITpro
LHA を ASP からコマンドとして呼び出しているのであれば、Win2003
の方では IIS に cmd.exe の実行権がない為に動作しないのでしょう。
cmd.exe に IIS ユーザーの実行権を付ければ動作すると思いますが、
リンクのように重大なセキュリティホールとなってしまいます。
(従来のNT機の方はその状態にあるはずです。)
http://www.piedey.co.jp/softs/comlha1.html
comlha Version 1.0
解決策としては、DLL を ASP から直接呼び出す方法が思い付きますが、
UNLHA32.DLL は Win32 API なので ASP からは呼び出せません。
リンクのサイトではこのような目的の為の COMコンポーネントを配布
しているようですので、試してみてはどうでしょう。
圧縮ファイルを作成するディレクトリに書き込み権限が無いのでしょう。
そこのディレクトリに使用ユーザの書き込み件を与えるか、書き込み先を別の場所にすれば解決すると思います。
http://www.csdinc.co.jp/archiver/docs/lha.html#download
Common Archivers Library: LHA.EXE
LHAってコマンドライン純正の2.13を使ってるのでしょうか?
だとしたら、オプションのワークディレクトリの指定(w:)で、IUSR_XXXXに書き込み権限を付けてあるディレクトリを指定してみてはいかがですか?
--
LHA version 2.13 Copyright (c) H.Yoshizaki(吉崎栄泰), 1988-91
=== <<< 高圧縮書庫管理プログラム >>> =========================== 1991-07-20 ===
使用法:LHA [aufmdpexlvst] [-rwxmpcazthonils-[-+012|WDIR]] LZH [DIR¥] [FILES]
-------------------------------------------------------------------------------
《命令》
a: ファイルを追加 u: 新ファイルを追加 m: 新ファイルを移動
f: ファイルを更新 d: ファイルの削除 p: ファイルの閲覧
e: ファイルを復元 x: ディレクトリ付きでファイルを復元
l: 書庫の一覧表示 v: 書庫の一覧表示(ディレクトリ付)
s: 自己解凍書庫の作成 t: 書庫のテスト
《オプション》
r: サブディレクトリも検索 w: ワークディレクトリの指定
x: ディレクトリ名を有効にする m: 問い合わせをしない
p: 名前の比較を厳密に行う c: 日時照合を行わない
a: 全属性を凍結の対象とする z: 無圧縮格納
t: 書庫の時刻を最新のファイルに h: ヘッダ形式
o: LHarc 互換形式で格納 n: 経過表示をしない
i: 大文字/小文字を区別 l: 経過表示のファイル名表示を長く
s: 非解凍時の表示をしない -: ’-’, ’@’ の機能を抑制
===============================================================================
違います。
LHA32.EXE(UNLHA32.DLL)を使用しています。
LHA32.EXE,UNLHA32.DLLにもエブリワンの権限を
追加してやってみましたが、うまくいきません。
http://www.hatena.ne.jp/1121451083
人力検索はてな - 環境 WIN2003 ASP IIS5.0分離モード イントラネット 基本認証モード ASPから objwshshill.run(圧縮コマンドおよびパラメーター) でLHA32.EXE(UNLHA32.DLL)を呼..
こちらの質問と同じ内容じゃないのですか?回答を見ていただけてないようですが。
2の方もおっしゃってますが、EXEやDLLファイルの権限や、圧縮ファイルを作成するフォルダーの権限じゃなくて、lha32が作業するフォルダーの権限の問題じゃないですか?一時ファイルが作成できない。
書き込み権限(EVERYONE)にしてとりあえず、やってみましたが、テキストの形式には落とせるのですが、その後LHA(圧縮)させようとするとできません。フォルダー権限は付加しています。