「MODx」タグアーカイブ

MODxのDitto 2.0.2にXSS脆弱性

Ditto 2.0.2 XSS Vulnerability (MODx Forum)

MODxのスニペットであるDitto 2.0.2(更新情報を表示するもの)にXSS脆弱性が確認されました。これはMODx 0.9.6に標準添付されているバージョンです。該当者は速やかなアップデートをしてください。JavaScriptやCookieを使用しているサイトは漏れなく脆弱性の影響を受けます。

Ditto 2.0.3

また、アドオンの「Results Per Page 」にも同様の脆弱性があります。使用者はこちらも最新版を適用しましょう。

Ditto 2.1系については近々パッチがあたるそうなので、暫くお待ち下さい。

MODx0.9.6の不具合、prefixエラーの修正方法

0.9.6 install error: Checking table prefix `modx_`: Failed! - Table prefix is al(MODx Forum)

MODx0.9.6はクリーンインストール時にDBのprefix(接頭語)エラーが出ます。この問題は0.9.6.1で修正される予定です。

現時点ではinstall/action.summary.phpの152行目を次のように修正してください。

if (@ $rs == mysql_query("SELECT COUNT(*) FROM $dbase.`" . $table_prefix . "site_content`")) {

if (@ $rs = mysql_query("SELECT COUNT(*) FROM $dbase.`" . $table_prefix . "site_content`")) {

"$rs =="と比較になっている部分を"$rs ="と代入形式へ書き換えればOKです。但し、よく分からない人は、0.9.5をインストール後0.9.6にアップデートするのが無難。

MODxサブドメイン対応版

Subsites the MAD [HACK] Ver.2.1.096(MODx Ver.0.9.6版)をリリースしました。

これは、データベース、設定ファイル、キャッシュファイルを、1セットのMODxのみで、サブドメインごとに完全に切り分ける事が出来ます。

メリットは、MODxリソースを集中管理でき、システム部のメンテナンス性があがることです。管理画面に他サイトのページが出て来ないのも保守を容易にします。また、DBを分散させる事が出来るので、負荷軽減にも貢献する事でしょう。

逆に、デメリットとして、同じようなDBテーブルがサイトの数だけ増えるという点が上げられます。これは元々そういう方針の改造なので仕方の無い事ですが、「DBを増やしたくない~」と言う人は使用を控えた方がいいでしょう。

ちなみに、前回おざなりにしていたインストーラー回りも今回はテストしました。余程の事が無い限り問題なく動くと思います。

MODxをサブドメイン対応する方法

CMS(CMF)のMODxは、1つのスクリプトを共有して、複数のサイトを稼動させることが出来ません。そのため、修正をしない方法では、サブドメイン毎にMODxを設置するか、DBを共有したままプラグインによりスタートページを振り分けるもの(Subsites/subdomains 0.1)に留まっています。

それぞれ一長一短あります。前者はサブドメイン分のMODxを設置するため、リソース増加してしまいます。プラグインも共有出来ません。しかし、全てのリソースが分離されている分、メンテは容易です。後者は単一のMODxをおいて置けばいいのでリソースは少なくてすみます。反面、DBを共有しているので、ページ数が増えメンテが困難になります。また、閲覧者が適当なページIDをリクエストしたときに、隠しておきたいはずの他サブドメインページが表示されてしまう問題も残ります。

そこで私は第3の方法を提案したいと思います。物理的なファイルリソースを共有したまま、DBとキャッシュを分離する方法です。このケースで言うDBとは、コンテンツ、スニペット、プラグイン、MODxの設定です。

この方法はMODxのコアスクリプトを変更します。本体がバージョンアップした際には、私のリリースを待つか自分で再修正をするしかありません。その代わり、MODxコアをバージョンアップしない限り、あらゆる問題に対応できる利便性が売りです。

方法は至極単純、インストール時に出力されるconfig.inc.phpをサブドメインごとに分ければいいのです。ただし、これだけでは不十分で、不具合が多発します。というのも、cacheディレクトリの中身をMODxが頻繁に参照するからです。ここに、MODxの設定の一部もなぜか含まれています。生成されるキャッシュをそれぞれサブドメインごとに分別されるように修正してください。

そんなわけで、私が改造したMODxを公式にポストしておきました。

日本語サポートスレッド本サポートスレッドも活用してください。

Subsites the MAD [HACK] ver.2.0