非公開リソースが閲覧可能になる

質問全般・改善要望
masco
メンバー
メンバー
記事: 113
登録日時: 2014年9月26日(金) 10:43

非公開リソースが閲覧可能になる

投稿記事by masco » 2018年1月28日(日) 20:03

さくらのレンタルサーバー
php 7.1.11
MySQL 5.5
MODX 1.0.20J
ブラウザ Chrome

非公開リソースが閲覧可能
リソースを非公開にしているにもかかわらず、ログインしていないブラウザからリソースが閲覧可能になっています。

ManagerManagerのddMultipleFieldのエラー
アップデート当初はエラーが出ていませんでしたが、しばらく使用していたら下記のエラーがリソース編集画面で毎回生じるようになりました。

ManagerManager: An error has occurred: TypeError - $ddMultipleField.sortable is not a function

よろしくお願いいたします。
mod_kks
メンバー
メンバー
記事: 8
登録日時: 2017年11月04日(土) 01:31

非公開リソースが閲覧可能になる

投稿記事by mod_kks » 2018年2月08日(木) 15:37

非公開リソースが閲覧可能な件は、$modx->prepareResponse()内でのドキュメントオブジェクトの
マージの順序の問題ではないかと推測しています。

/manager/includes/document.parser.class.inc.php

if(isset($_)) $this->documentObject = array_merge($this->documentObject,$_);

if(isset($_)) $this->documentObject = array_merge($_,$this->documentObject);

sendForwardで$modx->documentIdentifierがエラーページのidに上書きされて再びprepareResponse
が呼ばれる際、後から来た内容を$_の内容でマージしているようなので、元idの情報が表示されてしまう
のではないかと。
mod_kks
メンバー
メンバー
記事: 8
登録日時: 2017年11月04日(土) 01:31

非公開リソースが閲覧可能になる

投稿記事by mod_kks » 2018年2月09日(金) 01:25

ManagerManagerのddMultipleFieldのエラーの件ですが、発生し得る条件として以下をチェックしてみてください。

1. グローバル設定内「サイトのURL」がhttp://で始まる非セキュアURLになっている
2. サーバータイプが「http」になっている(これはあまり関係ないかも)
3. サーバ設定自体はSSL対応になっていて管理画面はhttps://からのセキュアURLでアクセスしている

つまるところmodx上の設定でサイトURLが非セキュアURLになっていて、なおかつ管理画面にセキュアURLでアクセス
した場合に発生するということです。

ddmultiplefields.phpでは、ページ内でjQuery.uiオブジェクトが存在しない場合に、自身のディレクトリからjQuery UI
を読み込ませようとする記述があるのですが、ファイルまでのパスをなぜかbase_urlではなくsite_urlで生成しているため
絶対パス記述になります。この時、グローバル設定内「サイトのURL」をhttp://で設定していて、https://でアクセスする
とブラウザのセキュリティポリシーに引っかかり読み込みをブロックしてしまうため、依存ファイルが読み込めずエラーが出ます。

$site = $modx->config['site_url'];

$site = $modx->config['base_url'];

一応、対策としては上記のようにすることで回避できるのですが、あまり良い方法ではないので「サイトのURL」などの
設定を変えるのが良いと思います。

最近ではLet's EncryptやCloudFlareなどで手軽にSSL証明書を発行できて利用できるので、SEO強化も兼ねて以前から
運用しているサイトをセキュア運用に切り替えるケースも少なくないと思いますが、一度設定を確認してみてはいかが
でしょうか。
アバター
yama
管理人
記事: 2938
登録日時: 2009年7月29日(水) 02:50

非公開リソースが閲覧可能になる

投稿記事by yama » 2018年2月14日(水) 12:43

https://github.com/modxcms-jp/evolution ... evelop.zip
修正しました。managerフォルダ・assets/pluigins/managermanager/フォルダを上書きしていただいてよいでしょうか?
masco
メンバー
メンバー
記事: 113
登録日時: 2014年9月26日(金) 10:43

非公開リソースが閲覧可能になる

投稿記事by masco » 2018年2月14日(水) 20:31

mod_kksさま、yamaさま
ありがとうございます。

両方とも問題は解決されました。