以下は php.ini の元の説明とデフォルト設定です: open_basedir を設定すると、すべてのファイル操作がディレクトリごとにまたは
ごとに使用されます。 - virtualhost Web サーバー設定ファイル。
open_basedir = は、セーフ モードがオンかオフかによって *影響を受けません。
open_basedir は、ファイルへのユーザー アクセスの範囲を、通常はホーム ディレクトリに制限します。パスは、現在のディレクトリを表す記号「.」で表すこともできます。 open_basedir で指定される制限は、実際にはディレクトリ名ではなくプレフィックスであることに注意してください。
例: 「open_basedir = /dir/user」の場合、ディレクトリ「/dir/user」と「/dir/user1」の両方に
アクセス可能です。したがって、指定したディレクトリのみへのアクセスを制限したい場合は、パス名の末尾にスラッシュを付けます。たとえば、次のように設定します:
"open_basedir = /dir/user/"
open_basedir は、Windows ではセミコロンを使用してディレクトリを区切ったり、
コロンを使用して他のシステムでディレクトリを区切ったりすることもできます。 Apache モジュールに適用すると、親ディレクトリの open_basedir パスが自動的に継承されます。
Apache で指定したユーザーに対して独立した設定を行うには 3 つの方法があります:
(a) Apache の httpd.conf の Directory の対応する設定方法:
php_admin_value open_basedir /usr/local/apache/htdocs/
#To set複数のディレクトリがある場合は、以下を参照してください:
php_admin_value open_basedir /usr/local/apache/htdocs/:/tmp/
(b) Apacheのhttpd.confにおけるVirtualHostの対応する設定方法:
php_admin_value open_basedir /usr/ local /apache/htdocs/
#複数のディレクトリを設定するには、以下を参照してください:
php_admin_value open_basedir /var/www/html/:/var/tmp/
(c) VirtualHostにopen_basedirを設定した後、この仮想ユーザーはphp.ini
の open_basedir 設定値を自動的に継承しないため、柔軟な構成措置を実現することが困難になるため、VirtualHost
ではこの制限を設定しないことをお勧めします。たとえば、open_basedir = .: を設定できます。 /tmp/、この設定は、
が現在のディレクトリ (つまり、PHP スクリプト ファイルが配置されているディレクトリ) と /tmp/ ディレクトリにアクセスできることを意味します。
注意: ファイルをアップロードするための一時ディレクトリが設定されている場合。 php.ini が /tmp/ の場合、open_basedir を設定するときは、/tmp/ を含める必要があります。そうしないと、PHP の新しいバージョンでは、「open_basedir 制限が有効です」という警告メッセージが表示されますが、move_uploaded_file() 関数を使用することもできます。 /tmp/ ディレクトリにアップロードされたファイルはまだ正常に削除されています。不明です。
これは脆弱性または新機能です。
ShopEx472 バージョンの設定:
open_basedir = "D:/Server;../catalog;。 ./include;../../ホーム;../システムサイト ;../テンプレート;../言語;../../言語;../../../言語;../。 。/../../言語"
http://www.bkjia.com/PHPjc/320277.html
www.bkjia.com
true