このマニュアルでは、セキュリティ上の理由から何かが表示されていますが、何が問題なのかよく分かりませんでした。PHP - なぜmove_uploaded_fileを使用し、名前を変更しないのですか?
この関数は、filenameで指定されたファイルが(それはPHPのHTTP POST アップロード機構を介してアップロードされたことを意味する)有効なアップロードファイル であるかどうかを確認します。ファイルが有効な場合は、宛先によって指定された ファイル名に移動されます。
アップロードされたファイルで行われたことが ユーザー、または同じシステム上の他のユーザーにも公開される可能性がある場合、この種のチェックは特に重要です。
PHPでアップロードされていることを確認しますが、確認しないとどうなりますか?どんな情報が明らかになったのか、そしてどのように?
誰かがこれを説明できますか?例は素晴らしいでしょう。
ファイルの内容自体とファイル名は明らかです。 httpを介して公開されている '/ img'フォルダへのアップロードを許可するPHPを想像してみてください。イメージは、それをさらに処理し、保護し、その内容と名前を検証し、名前を変更します。 – arkascha
@arkaschaしかし、それは私の質問ではありません。必要なものすべてを検証して、 'move_uploaded_file'ではなく' rename'を使うことができます。 – HtmHell
しかし、名前を変更するだけの場合、ファイルはすでに同じ物理的な場所にあります。すべての潜在的なセキュリティの影響を伴います。注:それは必ずしも安全ではない。しかし、恐らく一部の人々は安全でない設定を実装するでしょう。そういうわけで、別の解決方法が選ばれました。そして、btw、それはなぜ重要なのでしょうか? – arkascha