ホームページ > バックエンド開発 > PHPチュートリアル > ファイルのアップロードに関する基本的な質問をする

ファイルのアップロードに関する基本的な質問をする

WBOY
リリース: 2016-06-13 12:15:41
オリジナル
799 人が閲覧しました

基本的な質問をさせてください。ファイルのアップロードに関して、
s_uploaded_file と file_exists は両方ともファイルが存在するかどうかを確認します。パラメータはすべてパスですが、なぜファイルをアップロードするために is_uploaded_file を使用する必要があるのでしょうか?

-----解決策のアイデア----------------------
はは、これは 1 つです歴史的起源に関わる問題。 is_uploaded_file の使用は完全に自己保護のためです。

php は、アップロードされたファイルを処理するための 2 つのソリューションを提供します
move_uploaded_file

is_uploaded_file
コピーまたは名前変更

コピーとrename はどちらもファイル システム関数であり、もちろんファイルのアップロードだけではありません
そのため、copy 関数を使用して Linux ユーザー パスワード ファイル etc/password のコピーを作成できます

php には register_globals スイッチも用意されています。受信変数をグローバル変数テーブルに自動的にインポートするために使用されます (php5.4 以降では使用できません)
このスイッチがオンになっている場合
変数 $file_name, $ が生成されます。 file_tmp、$file_type.... およびその他の変数
と、upload.php?file_tmp=etc/password も $file_tmp 変数
を生成します。その場合、この $file_tmp が type=file によって生成されたかどうかを正確に知る必要があります。 URL パラメータによって生成されるかどうか

もちろん、PHP には保護メカニズムの層もあるので、これは起こりません (これは自分で発見してください)
しかし、コードは常に変更されているため、 、保守的であること 比較的安全です。どこかに危機があるかもしれません

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート