WordPressでダウンロードボタンを作る4 (Download Managerプラグインー利用) – ファイルがダウンロードできなくなっていた

2021/05/17に、Invalid File Typeと表示され、サイトからDownload Manager経由でファイルがダウンロードできなくなっていることに気づきました。

2018年4月にDownload Managerを使い、WordPressでダウンロードボタンを作成する方法を紹介しました。このサイトも、Download Managerを使い、ダウンロードページを作成して、アプリのインストーラーを配布していました。

新規のダウンロードページでダウンロードに失敗する

2021年5月に別の投稿を作成中に、新たなファイルをダウンロードできるように、Download Managerのダウンロードページを作成しました。ダウンロードページは、いつもの通り簡単に作成できました。

regファイルのダウンロードページ(CAPTCHA認証前)

そして、実際にダウンロードできるかのテストをしました。

regファイルのダウンロードページ(CAPTCHA認証後)

ダウンロードボタンはちゃんと表示され、CAPTCHA認証も問題なくできました。ところがその先の、実際のダウンロードに失敗します。

regファイルのダウンロードエラー

こんな感じで、「Invalid File Type (VAIO-Win10AppListUpdate.reg)!」とエラーが表示されてダウンロードができません。もしかして、regファイルは、制限かかっているのかと思い、regファイルをzip圧縮して、zipファイルをダウンロードするページに書き換えます。

もう一度、ダウンロードテストをすると、

zipファイルのダウンロードエラー

「Invalid File Type (VAIO-Win10AppListUpdate.zip)!」とエラーが表示され、zipファイルにしてもダウンロードできません。

新規のダウンロードページは、なぜかダメになっているようです。

既存のダウンロードページでも失敗するようになっていた

この時点で、少し不安になりました。もしかして、「既存のダウンロードページもダメになっているのでは?」と。

既存のダウンロードページを試してみました。

msiファイルのダウンロードエラー

同様に、ダウンロードのエラーが表示されます。

新規のダウンロードページだけでなく、既存のダウンロードページもすべて、ダウンロードができなくなっていました。

エラーの原因を調査

既存のダウンロードページも含めてエラーになるのは非常にまずいです。そこで、このエラーの解決方法を調査します。まずは、エラーメッセージである「Invalid File Type」をキーワードに検索します。

上記のキーワードに加えて、WordPressやDownload Managerなど追加するなどして調べました。

すると、Download Managerのページで該当する問題と解決方法を見つけました。

Upload and download is not working

です。

内容を抜粋すると以下の通りです。

Upload and download is not working
After this update ( 3.1.17 or 5.3.7 ), you may face the following 2 issues:
 - Upload is not working
 - Showing “Invalid File Type” error when trying to download

Here is the reason and solution:
From WPDM Free 3.1.20 and WPDM Pro 5.3.7, we have changed the file type validation process during file upload and download. Now, you have to white file types to allow them to upload or download. You will find the option at Admin Menu ► Downloads ► Settings ► Basic Settings Tab ► Upload Settings section.

Please add file types ( texts, multiple texts separated by a comma ) as shown on the marked image. And then save settings. The shall resolve the issue.

内容を翻訳すると、以下の通りです。一部、記載に間違いがあったので、修正もしています。

アップロードとダウンロードが機能しない
このバージョン(3.1.20または5.3.7)に更新した後、以下の二つの問題に直面するだろう。
  - アップロードが機能しない
  - ダウンロードしようとしたとき、“Invalid File Type”のエラーが表示される

理由と解決法:
WPDM Free 2.1.20とWPDM Pro 5.3.7から、ファイルをアップロード・ダウンロードするときの、ファイルの種類の検証処理を変更しました。現在では、アップロード・ダウンロードするファイルを許可するファイルの種類を設定しないといけません(ホワイトリスト方式)。
「管理者メニュー ► ダウンロード ► 設定 ► Basic ► アップロード設定」にオプション(Allowed file types to upload)があります。
以下の画像のように、"Allowed file types to upload"にファイルの種類(テキスト、カンマで区切られた複数のテキスト)を追加してください。そして、設定を保存してください。これで問題が解決します。
ファイルの種類のホワイトリストの設定

実際、この設定を確認したところ、ファイルの種類(“Allowed file types to upload”)のところには、何も設定されていませんでした。

何も設定されていないので、どの種類のファイルも、アップロード・ダウンロードができなくなっていたようです。

WordPress Download Manager の 3.1.20 でファイルの種類の設定が追加

WordPress Download Managerのソースコードは、公開されており、以下から確認できます。

https://plugins.trac.wordpress.org/log/download-manager/

実際にソースコードを確認したところ、3.1.20で「ファイルの種類(“Allowed file types to upload”)」の設定の実装が追加されていました。

ホワイトリスト方式の設定(許可しするものを明示的に指定する方式)のため、初期設定をしない限り、アップロードもダウンロードもできなくなったようです。

ただ、変更履歴を以下のURLから確認すると、

https://wordpress.org/plugins/download-manager/#developers

3.1.20 – 2021.04.20
 Fixed an issue with asset manager dir explorer 

と書かれているのみで、ファイルの種類の設定が追加されていません。WordPressのプラグインを更新するときは、変更履歴は必ず確認するようにしているのですが、3.1.20の変更履歴には、ファイルの種類の設定が追加されていたことは書いてありませんでした。

そのため、仕様変更を見逃してしまったようです。

今後は、WordPress Download Managerを更新したときは、動作確認するようにしたいと思います。


今回の投稿は、WordPress Download Managerを更新したことにより、ダウンロードページからファイルがダウンロードできなくなったことと、その解決方法の説明でした。

コメントを残す