ファイル名に「..」が含まれる場合のファイルブラウザの不具合

質問全般・改善要望
kazuike
メンバー
メンバー
記事: 484
登録日時: 2009年8月12日(水) 12:53

ファイル名に「..」が含まれる場合のファイルブラウザの不具合

投稿記事by kazuike » 2020年5月21日(木) 09:33

例えば「hogehoge..jpg」のように、ファイル名に「..」が含まれるファイルを、
ファイルブラウザでアップロードした場合、以下のようないくつかの問題があります。
MODX1.0.22Jで確認しました。(おそらくMODX1.0.23Jでも同じかと想像します)

(1)
ファイルブラウザは、サムネイルがなければサムネイルを生成しようとしますが、
manager/media/browser/mcpuk/connectors/Commands/Thumbnail.php
のコードに

コード: 全て選択

$this->filename=str_replace(array('..','/'),'',$_GET['FileName']);
があるため、ファイル名が変換されてしまい、必ずエラーになり、サムネイルが生成されません。
つまり、ファイルブラウザを開くたびにサムネイルを生成しようとして毎回エラーが発生します。
(そのたびごとに、毎回、イベントログが生成され、エラーメールが送信されます。)

(2)
一度アップしてしまうと、削除も、リネームもできません。
(無視されます)

上記の(1)に関しては、
manager/media/browser/mcpuk/connectors/Commands/Thumbnail.php
の該当のコードを

コード: 全て選択

$this->filename=str_replace(array('../','/'),'',$_GET['FileName']);
に変更(「..」を「../」に)すればよさそうですが、どうでしょうか?
MODX1.0.22Jでは、40行目にあります。
(MODX1.0.23Jでは、45行目にあります)
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
kazuike
メンバー
メンバー
記事: 484
登録日時: 2009年8月12日(水) 12:53

ファイル名に「..」が含まれる場合のファイルブラウザの不具合

投稿記事by kazuike » 2020年5月21日(木) 10:20

補足です。
(2)
一度アップしてしまうと、削除も、リネームもできません。
(無視されます)
と書きましたが、
内部的には、エラーとなって、イベントログが生成され、エラーメールが送信されます。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
kazuike
メンバー
メンバー
記事: 484
登録日時: 2009年8月12日(水) 12:53

ファイル名に「..」が含まれる場合のファイルブラウザの不具合

投稿記事by kazuike » 2020年5月21日(木) 10:25

(2)
一度アップしてしまうと、削除も、リネームもできません。
(無視されます)
の対処方法としては、
(1)と同様の箇所が、
manager/media/browser/mcpuk/connectors/Commands/DeleteFile.php
manager/media/browser/mcpuk/connectors/Commands/RenameFile.php
にもありますので、
同様に変更(「..」を「../」に)すればよさそうですが、どうでしょうか?
(RenameFile.phpの方は2か所あります)
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
アバター
yama
管理人
記事: 3154
登録日時: 2009年7月29日(水) 02:50

ファイル名に「..」が含まれる場合のファイルブラウザの不具合

投稿記事by yama » 2020年5月21日(木) 13:18

https://github.com/modxcms-jp/evolution ... .0.24J.zip
https://github.com/modxcms-jp/evolution ... 3e84f6623b
ありがとうございます、さっそく修正してみました。