1
デフォルトでは、symfonyはファイルをweb/uploadフォルダにアップロードするので、誰にでもアクセスできます。私はファイルへのすべての要求でユーザーの資格情報をチェックする必要があります。私はこれをどのようにするべきですか?symfonyによる安全なファイル管理
デフォルトでは、symfonyはファイルをweb/uploadフォルダにアップロードするので、誰にでもアクセスできます。私はファイルへのすべての要求でユーザーの資格情報をチェックする必要があります。私はこれをどのようにするべきですか?symfonyによる安全なファイル管理
/data/uploadsのように、ウェブルートの外にアップロードを移動します。その場合、あなたはあなたにProjectConfigurationファイルでこれを配置する必要があります:
あなたは常にアップロードフォルダを指定するためにsf_upload_dirを使用し、すべてのファイルが保存されますことを提供sfConfig::set('sf_upload_dir' => sfConfig::get("sf_data_dir") . DIRECTORY_SEPARATOR . 'uploads');
。ユーザーがそれにアクセスしている場合
ソリューションの第二部では、ファイル名を取得し、新しいアクション、チェックを必要とし、リターン:
readfile()
、正しいContent-TypeヘッダーとContent-Lengthヘッダーを設定した後。
symfonyでreadfile()を正しく呼び出すにはどうすればよいですか? – Dziamid
他の関数と同じように呼びます。これを行うための "symfony"の方法はありません。 – Maerlyn
あなたが単に動作中にそれを呼び出すと、出力バッファにまっすぐに書き込みます。そうすれば、symfonyはヘッダを適切に出力することができなくなります。 ob_start()で出力をキャッチして$ this-> getResponse() - > setContent()に渡す必要がありますか? – Dziamid