あなたが知っているように。open_basedir = '/var/home'
などを書く必要があります。
私はこのように書きたい:open_basedir = '/var/home/*/'
私が望むのは、phpがホームディレクトリにあるすべてのディレクトリを、異なるディレクトリごとに制限する必要があることです。
open_basedir
短い質問: 次のように書くにはどうすればよいopen_basedir = 'var/home/*/'
ですか?
どうもありがとうございました。
あなたが知っているように。open_basedir = '/var/home'
などを書く必要があります。
私はこのように書きたい:open_basedir = '/var/home/*/'
私が望むのは、phpがホームディレクトリにあるすべてのディレクトリを、異なるディレクトリごとに制限する必要があることです。
open_basedir
短い質問: 次のように書くにはどうすればよいopen_basedir = 'var/home/*/'
ですか?
どうもありがとうございました。
PHP を各ユーザーのホーム ディレクトリに制限する場合は、次のような PHP セットアップが必要です。
典型的なケースは、PHP を Apache モジュールとして実行するのではなく、CGI (または FastCGI) セットアップです。次に、各ユーザーにカスタム php.ini ファイルを提供できます。
ところで、私はそれをテストしていませんが、おそらくopen_basedir = "~"
期待どおりに動作します...
======編集======
OPのコメントから生じるいくつかの明確化:
Unix シェルでは、"~" は "現在のユーザーのホーム ディレクトリ" の同義語なので、あなたが john なら "/var/home/john"、あなたが michael なら "/var/home/michael" です。「var/home/~/」には特別な意味はありません: ~ と呼ばれる単なるディレクトリです。
多くのプログラムがこのシェル規約を使用しています。PHPがそうするかどうかはわかりません。
CGI を使用すると、サーバー上で任意のプログラムを実行できるため、スケートボードがスペースシャトルよりも安全ではないのと同じように、静的 HTML よりも安全ではありません。しかし、任意のプログラムの実行について話しているわけではありません。PHP インタープリターの実行について話しているのです。PHP や環境と同じくらい安全です。
このテーマに興味がある場合は、Google for FastCGI (パフォーマンスが強化された CGI 実装) を参照してください。多くのホスティング プロバイダーが使用しています。
あなたはできる。ディレクティブで各パスを指定する必要があります。
open_basedir = "/var/home/path1/:/var/home/path2/:/var/home/path3/"