[PHP-users 12685] Re: ファイルアップロードの処理方法について

しょうなり [ml] php-users@php.gr.jp
Tue, 21 Jan 2003 00:33:04 +0900


しょうなりです。

試してみる時間が取れましたので、
冨永さんの試行を待たず、自分で一部をやってみました。

>1)2→3の処理の際にもファイルアップロードをする。

>3)JavaScript を使ってよろしいみたいですので、
>  1→2では、転送する画像のローカルのパスだけを送信し
>  (つまりこの場合 $fullpath_name だけです)、
>  2→3で正式にファイルを転送するようにします。

この1)と3)についてですが、どちらも2のスクリプトで
"file"属性の INPUTタグに、VALUEを初期値で与えられなければ
できない方法だったのですが、それが少なくとも Windows+IE6.0 では
できませんでした。

<body onLoad="document.forms[0].userfile.value='ファイル名'">
という、ページを読み込んだら JavaScriptを動かして値を代入する
という方法も試してみましたが、できませんでした。

落ち着いて考えてみたら、これができてしまったら
ユーザーのローカルディスクの任意のファイルをアップロードさせる
スクリプトが書けてしまうので、大変なセキュリティホールだと言えます。
僕は、1)と3)は実現不可能だと判断しました。


このように少し試せば実現不可能だとわかる話を技術系MLに
投げてしまって反省しています。(がっくり)
惑わすような発言をして申し訳ありませんでした。


なお、3)の
> 2の画面で CSSも使って、
><span style="display:none"><!-- CSS で画面表示しないと設定する -->
><INPUT NAME=\"UserFile\" TYPE=\"file\" SIZE=32
> ACCEPT=\"image/jpeg,image/gif,image/txt\" value=".$fullpath_name.">
></span>
>とすれば、ファイル送信を隠し属性っぽく使えるかもしれません。
のほうは、CSSで隠していても送信できるようです。
Windows+IE6.0 で確認しました。

もちろん TYPE="hidden" とするのと結果は同じなので、
ほとんど意味がありませんが…。
& PHPと関係のない話題ですいません。


-- 
print <<<SIGNATURE
	しょうなり@信州 肥田昌也
	Email:     shounari@webappli.jp
	HomePage:  http://www.webappli.jp/ => JSlayout 評価版
SIGNATURE;