safe_modeでディレクトリを掘る

25 views
Skip to first unread message

GIJOE

unread,
Nov 26, 2007, 4:15:06 PM11/26/07
to xcube-...@googlegroups.com
GIJOEです。

共有ホスティングだとほぼ確実に、CGIかsafe_modeですよね。
xreaのシェアを見ても、後者の方が一般的です。

ところが、safe_modeだと、PHP権限でディレクトリを掘った時に、その内側にアクセスできません。

それってとっても不便で、モジュールなどからディレクトリを掘りたい、というケースは数多くあります。

「ユーザ権限でディレクトリを掘る」
この一点で、何か共通のインターフェースを用意できませんかね。

PHPがsafe_modeで動作しているサーバでも、CGIはsuExecでしょう。
であれば、perlは最低限あるでしょうから、ディレクトリを掘るシェルスクリプトを用意して、インストール時に実行権限つけてもらう、とか。
(ディストリレベルなら可能かな)

それとも、「XOOPSである以上、階層構造を持ったファイルもDBに保存すべき」でしょうか。

のぶのぶ

unread,
Nov 27, 2007, 10:26:43 PM11/27/07
to xcube-...@googlegroups.com
のぶのぶです。

単なるインフォメーションで、本質的なレスになっていませんが・・・
> 共有ホスティングだとほぼ確実に、CGIかsafe_modeですよね。
> xreaのシェアを見ても、後者の方が一般的です。

まだ、きちんと試したことはありませんが(^^;
最近のXREAでは、.htaccess使えば、ファイル単位でCGI実行指定が可能に
なっています。

<Files hogehoge.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
とかを書けば、hogehoge.phpへのアクセスだけ、CGI起動になります。
もちろん<Files>使わなければ、そのディレクトリ内のすべてがCGIモードになります。
呼び出すphpファイルのあるディレクトリにphp.iniがあれば、その設定を参照する様にも
なっているそうです。

> ところが、safe_modeだと、PHP権限でディレクトリを掘った時に、その内側にアクセスできません。

このように、safe_modeだと正常に動かないアプリがあるという問い合わせが、
XREAに殺到??したのでしょうね。

GIJOE

unread,
Nov 27, 2007, 10:52:38 PM11/27/07
to xcube-...@googlegroups.com
GIJOEです。

レス、ありがとうございます>nobunobuさん


> 最近のXREAでは、.htaccess使えば、ファイル単位でCGI実行指定が可能に
> なっています。

実はこれについては知ってました。
それも、CGI版のバイナリをいくつも選べるあたり、さすがはXREAだな、と感
心してます。

ただ、XREA/CORESERVER以外はどうかというと、結構寒い状況なんじゃないか
な、と予想してます。


とりあえず、普通のCGIであれば、ほとんどすべてのサーバでsuExecで動かし
ているでしょうから、実行権限つけたシェルスクリプトからphp-cliまたは
php-cgiを呼び出すことで、多くの環境に対応できるかな、と思っているので
すが、どうでしょうか。

もちろん権限チェックは、PHPの普通のソースコードなので、比較的容易に書
けます。

この場合にどうしても必要なのは、php-cli/cgiのパスですね。PHPを
tarballでビルドすれば、php-cliも一緒にインストールされますが、ディス
トリのをそのまま使っているなら、あえて入れないとバイナリがないケース
も多いでしょうね…


あと、safe_modeじゃなくても、
uploads/myalbum/
uploads/myalbum/thumnails/
なんてフォルダをapache権限で作ってしまうと、後から引越とかするときに
結構面倒ですよね。

だから「ディレクトリを掘る」というその一点で、何かこういう仕掛けがあ
るといいなあ、と考えた次第です。


> このように、safe_modeだと正常に動かないアプリがあるという問い合わせが、
> XREAに殺到??したのでしょうね。

私も、そういう理由でsuPHPを導入してみたことがあるのですが、どうしても
重いですね。

suPHPの代表格であるさくらなんかも、やっぱりXREAよりややレスポンスが悪
い気がします。

もっとも、XCLくらい重量級だと、suPHP版とApacheモジュール版のロードの
差なんて無視できるのかもしれません。


まあ、グダグダ言ってても仕方がないので、ディレクトリを掘るCGI的な仕掛け
の叩き台を書いてみますね。

Reply all
Reply to author
Forward
0 new messages