Fessの管理画面でファイルアップロードができない問題の修正

Docker環境などでFessの管理画面から画像ファイルなどをアップロードできなくなっていた問題を修正しました。

原因

管理画面でファイルをアップロードする際、FessAdminActionvalidateFilePathメソッドでファイルパスのバリデーションが行われます。このバリデーションでは、アップロード先のパスが許可されたディレクトリ配下にあるかをチェックしていますが、従来はfess.var.pathのみを許可ディレクトリとして参照していました。

Docker環境では、アップロードされたファイルの保存先がfess.webapp.pathfess.conf.path配下になるケースがあり、これらのパスが許可されていなかったためアップロードに失敗していました。

修正内容

validateFilePathメソッドを修正し、以下の3つのシステムプロパティすべてを許可ディレクトリとしてチェックするようにしました。

  • fess.var.path
  • fess.webapp.path
  • fess.conf.path

ファイルパスがこれらのいずれかのディレクトリ配下にあれば、バリデーションを通過するようになります。また、バリデーション失敗時のエラーメッセージも改善され、すべての許可パスが表示されるようになりました。

この修正はFess 15.5.0に含まれる予定です。詳細はPR #3028を参照してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です