ec-cube icon indicating copy to clipboard operation
ec-cube copied to clipboard

アップロードファイル名の拡張子が複数ある場合に最後のものだけを残す

Open pineray opened this issue 2 years ago • 5 comments

概要(Overview・Refs Issue)

アップロードファイル名の拡張子が複数ある場合(例:hoge.fuga.txt)に、最後のものだけを残して他の途中の拡張子を削除する(例:hoge.txt)

マイナーバージョン互換性保持のための制限事項チェックリスト

  • [ ] 既存機能の仕様変更はありません
  • [ ] フックポイントの呼び出しタイミングの変更はありません
  • [ ] フックポイントのパラメータの削除・データ型の変更はありません
  • [ ] twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • [ ] Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • [ ] 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • [ ] 動作確認
  • [ ] コードレビュー
  • [ ] E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • [ ] 互換性が保持されているか
  • [ ] セキュリティ上の問題がないか
    • [ ] 権限を超えた操作が可能にならないか
    • [ ] 不要なファイルアップロードがないか
    • [ ] 外部へ公開されるファイルや機能の追加ではないか
    • [ ] テンプレートでのエスケープ漏れがないか

pineray avatar Aug 29 '22 20:08 pineray

Codecov Report

Merging #5697 (a5d4bca) into 4.2 (90f19be) will decrease coverage by 0.00%. The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                4.2    #5697      +/-   ##
============================================
- Coverage     78.74%   78.74%   -0.01%     
- Complexity     6269     6270       +1     
============================================
  Files           468      468              
  Lines         21024    21027       +3     
============================================
+ Hits          16556    16557       +1     
- Misses         4468     4470       +2     
Flag Coverage Δ
E2E 64.69% <66.66%> (-0.02%) :arrow_down:
Unit 77.48% <100.00%> (-0.01%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...Eccube/Controller/Admin/Content/FileController.php 85.03% <100.00%> (+0.17%) :arrow_up:
src/Eccube/Entity/TaxRule.php 85.18% <0.00%> (-1.24%) :arrow_down:
...ontroller/Admin/Product/ProductClassController.php 90.28% <0.00%> (-0.58%) :arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov-commenter avatar Aug 29 '22 21:08 codecov-commenter

@pineray tar.gzのような正規のファイルも拡張子変わってしまいませんか?

chihiro-adachi avatar Aug 31 '22 04:08 chihiro-adachi

@chihiro-adachi 変わります なので、どこまでを許すか、というポリシーの問題となります 多重拡張子を許可するのであれば、html ディレクトリにおけるPHPハンドラーの扱いをもう少し厳格にする必要があります 現在だとサーバーの設定をほぼノールックで、ファイル名の最後が「.php」の場合に動作しないようにしているだけですから

pineray avatar Aug 31 '22 07:08 pineray

PHPハンドラーを厳格化する方針への変更もまた、このスレッドをご覧になっているどなたかが、驚く速さで対応してくださるはず

pineray avatar Aug 31 '22 07:08 pineray

ありがとうございます。 どの種別のファイルをアップロード可能にするかは、許可リスト方式にできればと考えています。 別途Issue立てさせていただきますね。

chihiro-adachi avatar Sep 06 '22 09:09 chihiro-adachi

許可リスト方式での拡張子制限を実装しました。

https://github.com/EC-CUBE/ec-cube/issues/5120 https://github.com/EC-CUBE/ec-cube/pull/5867

chihiro-adachi avatar Jan 16 '23 09:01 chihiro-adachi