非常に大きなファイルを PHP アプリケーションにアップロードできるようにしたいと考えています (数百メガ - 8 ギガ)。ただし、これにはいくつかの問題があります。
ブラウザ:
- HTML アップロードにはひどいフィードバックがあります。進行状況をポーリングするか (これは少しばかげています)、フィードバックをまったく表示しない必要があります。
- Flash アップローダーは、アップロードを開始する前にファイル全体をメモリに格納します
サーバ:
- PHP は post_max_size の設定を強制するため、簡単に悪用可能な DOS 攻撃につながる可能性があります。この設定をグローバルに設定したくありません。
- サーバーは、秘密鍵などの他の変数も POST vars に存在する必要があります。ファイル全体がアップロードされた後ではなく、すぐにリクエストを拒否できるようにしたいと考えています。
要件:
- HTTP は必須です。
- ブラウザーで動作する限り、私はクライアント側のテクノロジに柔軟に対応します。
- PHP は必須ではありません。Linux 環境でうまく機能する他のテクノロジがあれば、それはまったく問題ありません。