ホームページ  >  記事  >  バックエンド開発  >  PHPファイルのアップロードにおける一般的な欠陥

PHPファイルのアップロードにおける一般的な欠陥

伊谢尔伦
伊谢尔伦オリジナル
2016-11-22 10:28:111021ブラウズ

MAX_FILE_SIZE に設定する値は、ini 設定の Upload_max_filesize オプションで設定した値より大きくすることはできません。デフォルト値は 2M バイトです。

メモリ制限設定が有効になっている場合は、memory_limit をより大きく設定する必要がある場合があります。memory_limit 設定が十分な大きさであることを確認してください。

max_execution_time で設定した値が小さすぎる場合、スクリプトの実行にこの設定よりも時間がかかることがあります。したがって、max_execution_time が十分な大きさであることも確認してください。

注: max_execution_time は、スクリプト自体の実行時間にのみ影響します。関数 system() を使用したシステムへの呼び出し、sleep() 関数の使用、データベース クエリ、ファイルのアップロードなど、スクリプトの実行以外で費やされるその他の時間は、スクリプトが実行できる最大時間の計算には含まれません。走る。

警告:max_input_time は、ファイルのアップロードを含む、スクリプトが入力を受け取るまでの最大時間を秒単位で設定します。ファイルが大きい場合や複数の場合、またはユーザーのインターネット速度が遅い場合は、デフォルトの 60 秒を超える場合があります。

post_max_size で設定した値が小さすぎる場合、それより大きなファイルはアップロードされません。したがって、post_max_size の値が十分に大きいことを確認してください。

操作されているファイルを検証できない場合、ユーザーが他のディレクトリにある機密情報にアクセスできる可能性があります。

CERN httpd は、クライアントから取得したコンテンツ タイプの MIME ヘッダーの最初のスペース以降のすべてのコンテンツを破棄するようであることに注意してください。これに基づいて、CERN httpd はファイル アップロード機能をサポートしていません。

ファイル パスを表す方法は数多くあるため、さまざまな外国語のファイル名 (特にスペースを含むファイル名) が正しく処理できるかどうかは保証できません。

開発者は、同じフォーム変数を使用して通常の入力フィールドとファイル アップロード フィールドを混在させないでください (たとえば、両方とも foo[] を使用します)。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。