[PHP-users 9866] Re: ファイルアップロードの不思議な現象

NAKAMURA Takeshi php-users@php.gr.jp
Fri, 06 Sep 2002 22:23:21 +0900


仲村です。
# そろそろ、個人宛がいいかも...

From: SEGAMI Takashi <sage@tokyo.MicroCAD.CO.JP>
Date: Fri, 6 Sep 2002 22:07:40 +0900
Subject: [PHP-users 9864] Re: ファイルアップロードの不思議な現象

>> 「README.TXT」と、入力して「C:\Documents and Settings\sage\デスクトップ\README.TXT」
>> が、upload されることを確認しました。
>
> 私は、カレントディレクトリがC:\でなくても、うまくいきません。
> カレントディレクトリは、fileフォームの「参照...」ボタンで確認しました。
 それは、見かけで IEのカレントディレクトリを変更できないよう
仕込まれているように見えました。
 ですから、デスクトップのあるドライブは デスクトップからの相対パス or 絶対パス
でないと、upload できないと。

> IEのカレントディレクトリは一体、どこなんでしょう?
 デスクトップから、移動できないのでしょう。

> 話は違いますが、いま、Opera(6.0)を入れてみました。
> IEやNSと違って、どんな場合もアップロードできてしまうのですが、
> なぜか、コロン付きのファイル名になりません。
> 例えば、A:README.txtとすると、PHP内の変数u1_nameには"README.txt"の値が
> 入っています。
 Mozilla でも、そうなります。
# C:\dokoka\path\file.txt を指定すると file.txt を返します。
# IE は、丸ごと C:\dokoka\path\file.txt を渡します。==> マシンの
# ディレクトリ構成をばらしたり、アカウント名が予測される可能性がある。
#  ex. C:Documents and Settings\sage\デスクトップ\README.TXT だと多分sageだろう

> ということは、PHP側の変数になる元の情報は、ブラウザ側で決めていることに
> なりますね。うーん、奥が深いなぁ。一番、Operaが賢いのでしょうか?
 http の仕組み上他に方法がないのです。(tcpdump でのぞいてみると分かりますよ)
 ブラウザが情報を渡さないと、直接ファイルを見ることができない php(webサーバ)に
ファイル名を知る術はありません。
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
 関西沖縄青年の集い がじまるの会 手伝い 一人だけの勝手に神奈川支部
 仲村 武 <1Yen@Bigfoot.COM>