ページ 11

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

Posted: 2020年5月21日(木) 09:33
by kazuike
例えば「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行目にあります)

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

Posted: 2020年5月21日(木) 10:20
by kazuike
補足です。
(2)
一度アップしてしまうと、削除も、リネームもできません。
(無視されます)
と書きましたが、
内部的には、エラーとなって、イベントログが生成され、エラーメールが送信されます。

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

Posted: 2020年5月21日(木) 10:25
by kazuike
(2)
一度アップしてしまうと、削除も、リネームもできません。
(無視されます)
の対処方法としては、
(1)と同様の箇所が、
manager/media/browser/mcpuk/connectors/Commands/DeleteFile.php
manager/media/browser/mcpuk/connectors/Commands/RenameFile.php
にもありますので、
同様に変更(「..」を「../」に)すればよさそうですが、どうでしょうか?
(RenameFile.phpの方は2か所あります)

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

Posted: 2020年5月21日(木) 13:18
by yama
https://github.com/modxcms-jp/evolution ... .0.24J.zip
https://github.com/modxcms-jp/evolution ... 3e84f6623b
ありがとうございます、さっそく修正してみました。