もしかすると、MYsqlのバージョンのことを言われていませんでしたか?mysql5.0.5.1には
少し不具合があるらしくて、MODxのインストーラがそれをチェックしたときに警告を出します。
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/install/connection.servertest.php on line 22
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/install/connection.collation.php on line 14
今さらな疑問なんですが、MODxってMySQL4.0系だとどうなんでしょう。
この場合、もしかすると、この機能のおかけで、マネージャそのものが上手く機能しない場合があるので、と書いてあります?
ここをoffにするのだが、それだけではこの機能は完全にオフにならないので、データベースと、siteCache.idx.phpをいじってくれ。
今さらな疑問なんですが、MODxってMySQL4.0系だとどうなんでしょう。うちのサイトも、4.0系(4.0.27)ですが問題ないです(今後はどうかわかりませんが...)。
MODx 0.9.6.1p2とそれ以前のバージョンにおいて、CSRF脆弱性が発見されている。該当するバージョンを使用しているユーザは適切な対策を行うことが望まれる。
CSRF脆弱性はCSRF攻撃の対象となる脆弱性で、正規のユーザに不正な操作を強いる攻撃である。
MODxにおいては、ユーザが正規のセッションにある場合(ログインしたままの状態)に、悪意ある者がユーザを特定のURIにアクセスさせることによって、ユーザが意図しない操作を強いられることになる。対象としては、ドキュメントの削除、リソースの削除、ユーザの削除など広範囲に渡る。これは、正規の権限を持つユーザが、意図しない内に悪意のあるURIにアクセスさせられ、自らの行動によって問題の操作が引き起こされるためである。
MODx 0.9.6.2においては、HTTPリファラによるチェック機能が搭載されており、この機能を有効にすることで、正規のドメインを経由しない操作が遮断されることになり、CSRF攻撃の可能性を軽減させることができる。具体的には、「ツール」→ 「MODX 設定」→「サイト」→「HTTP_REFERER チェック」を「はい」にすることで有効になる。
ただし、この機能は環境によっては正しく動作しないことがある(特に、リファラの送信を遮断するセキュリティソフトウェアを使用している環境など)。その場合には、HTTPリファラチェック機能を無効にする必要があるが、この機能を有効にした後ではマネージャにアクセスできなくなる可能性がある。そういった場合、データベースと/assets/cache/siteCashe.idx.phpを修正して、HTTP リファラチェック機能を手動で無効にする必要がある。
HTTPリファラチェック機能を手動で無効にするには、データベースのsystem_settingsテーブルの「setting_name」フィールドが「validate_referer」となっているレコードの「setting_value」フィールドを「0」に修正する。その後、 /assets/cache/siteCache.idx.phpの以下の部分を同様に「0」に修正する。
$c[’validate_referer’] = "0";
このように、HTTPリファラチェック機能は完全なものではなく、今後の開発の中で、より適切な対策を行うように改善していくとのことである。
MODxに対するCSRF攻撃への対策として、0.9.6.2にアップグレードし、HTTPリファラチェック機能を有効にすること、あるいは、必要な操作が完了した後には、必ずログアウトすることが望まれる。
MODx 0.9.6.2は日本語環境で文字化けが発生することが判明した。まもなく、0.9.6.3がリリース予定であり、それまでセキュリティ面に注意しながら、アップデートを待ったほうがよさそうだ。