問題タブ [open-basedir]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - PHP - 仮想ホストごとに異なる open_basedir
私はこの問題に遭遇しました.apacheとphpを実行しているサーバーがあります。多くの仮想ホストがありますが、潜在的に悪意のあるユーザーが自分の Web スペースを使用して (単純な php スクリプトを介して) 他のユーザーのファイルやシステム ファイルを閲覧できることに気付きました。これは php パーミッションが原因で発生する可能性があります。これを回避する方法は、php.ini で open_basedir 変数を設定することです。これは、単一のホスト システムでは非常に単純ですが、仮想ホストの場合、各ホストごとに basebir が存在します。
各ユーザー/ホストごとに dis basedir を設定するにはどうすればよいですか? リクエストされたphpファイルのphp権限をApacheに継承させる方法はありますか
EG /home/X_USER/index.php の所有者は X_USER です。apache がファイル index.php を読み取ると、そのパスと所有者がチェックされます。単純に、システムが php basedir 変数をそのパスに設定するのを探しているだけです。
よろしくお願いします
php - PHP & CodeIgniter エラー: open_basedir 制限が有効です
これを安全に修正するにはどうすればよいですか? これにより、現在のディレクトリ以外のディレクトリを一覧表示して作成することができなくなります。安全とは、構成ファイルからコードの一部を削除したくないということであり、ハッカーが何でも簡単に実行できるようにする可能性があります。
php - PHPディレクトリエラー-open_basedir制限が有効
セットディレクトリに新しいファイルを作成するPHPコードがあります。
それは完全に機能していて、数年前から機能していますが、残念ながら、新しいサーバーに移動したばかりで、次のエラーが発生します。
これを回避する方法について何か提案がありますか?フォルダー(アップロード先のフォルダーとWindows TEMPフォルダーの両方)のアクセス許可を確認しましたが、喜びはありませんでした。また、php.iniファイル、特に「open_basedir」行にいくつかの調整を試みましたが、それもうまくいきませんでした。
ありがとう
php - とにかく、ユーザーが開発するための php サンドボックスを作成するには?
私のサイトのユーザーと私は、新しい Web アプリを開発しようとしています。構成ファイルなどを読み取る可能性のあるフォルダーの外で彼が読み取ることができるという恐れなしに、作業できるフォルダーを作成したいと思います。
サイトの残りの部分を同じに保ちながら、ユーザーがそのフォルダーの外側に含まれないようにするサンドボックス領域を作成する方法はありますか?
その 1 つのフォルダーの open_basedir のようなものです。
php - open_basedirはファイルを書き込めませんが、ディレクトリは正しいようですか?
ショートストーリー:
PHPスクリプトでopen_basedir制限が発生します。これは、単純な「新しいファイルをディスクに書き込むテスト」スクリプトです。open_basedirの設定が正しく、ファイルが正しい場所にあることがわかりましたが、運が悪かったので、毎回同じエラーが発生しました。このサイトで同様のopen_basedirの問題を検索しましたが、この問題については何も見ていません。ディレクトリは正しく見えますが、それでもエラーが発生します。
問題が何であるかについての私の推測:
1)open_basedirが思ったように機能しない
2)設定が間違っていて、表示されない
3)IISの読み取り/書き込みアクセス許可など、実際には別のものです。など
4)???
長い話:
PHPを使用してIISサーバーで作業しており、次のコードスニペットを機能させようとしています(単純な書き込みファイルテスト)。
このphpスクリプトは、サーバーのC:\ inetpub \ wwwroot \ WEBDIRECTORY\test_write.phpにあります。
open_basedirのphp.ini設定は次のとおりです
。open_basedir=c:\ inetpub \ wwwroot; c:\ inetpub \ wwwroot \ WEBDIRECTORY
スクリプトのページを開くと、出力が表示されないことを期待しています。確認すると、サーバーに新しいファイルが書き込まれているはずです。これは私が代わりに得るものです:
警告:fopen():open_basedir制限が有効です。File(testfile.txt)が許可されたパス内にありません:(c:\ inetpub \ wwwroot)in C:\ inetpub \ wwwroot \ WEBDIRECTORY \ test_write.php on line 5警告:fopen(testfile.txt):failedストリームを開くには:5行目のC:\ inetpub \ wwwroot \ WEBDIRECTORY\test_write.phpで操作が許可されていませんファイルを開くことができません
私は多くの順列を試しました:元々open_basedir行は
open_basedir = c:\ inetpub\wwwrootでした
...しかし、それもうまくいきませんでした。
また、ファイル自体の名前だけでなく、testfile.txtの絶対パス(c:\ inetpub \ wwwroot \ WEBDIRECTORY \ testfile.txtなど)を入力しようとしましたが、同じエラーメッセージが表示され続けます。
何か案は?どうもありがとうございました。
php - codeigniter の open_basedir 制限エラー
これを修正する方法がわかりません:
php - PHPChmodの問題ファイルの作成
私は次の状況にあります:
public_html-755
=>アバター-777
=>ポーリング-755
次のコードを使用すると、エラーが発生します(警告:file_put_contents(../ test.php)[function.file-put-contents]:ストリームを開くことができませんでした:XXXでアクセスが拒否されました):
しかし、以下のコードを使用すると、問題なく機能します。
(両方とも「アバター」から実行され、0777で)
どうすればこれを解決できますか?
php - file_exists はシンボリックリンクされたファイルと一緒ですか?
このアプリケーションでは、ストリーミング メディア ソフトウェアからアクセスできるように、ファイルをルートの上に保存する必要があります。
以下からシンボリックリンクを正常に作成しました。
/var/www/vhosts/myhost.com.au/httpdocs/fileserver/videostream/
に:
/usr/local/MediaServer/content/
そして PHP は、ルートの上の実際のファイルへのシンボリック リンクに従って、生のビデオを喜んで処理します。
しかし、試してみると
あらゆる種類の「open_basedir の制限が有効です」というエラーが発生します。
これを回避する方法はありますか?または、データベースのエントリが正しく、ファイルが処理されたと言う場合、実際には処理されたと仮定する必要がありますか?
fopen を試してみるとうまくいきますか、それとも basedir の制限がまだありますか?
ルート権限のある専用ホスト上にいるので、必要なことは何でもできます。
ありがとう。
回避策を見つけましたが、問題は解決しません:-)
実際に CURL を使用して、実際のファイルのヘッダーを取得できます。これにより、ファイルが存在するかどうかを知ることができます。さらに、CURL を使用してそのファイルのストリーミング メディア サーバーのカスタム URL の存在を確認する方法もあります。問題は解決しましたが、私が望んでいた方法ではありません。
zend-framework - Zend->警告:is_読み取り可能()[function.is-読み取り可能]:open_basedir制限が有効
コードに次の警告が表示されます。
問題は何ですか?それは私のアプリケーションのデプロイメントと本番段階で問題を引き起こしますか?
ありがとうございました
php - require_once() は open_basedir によってブロックされています - システムを安全にする方法は?
多くの重要なデータを含む Web サイトを所有しており、セキュリティに注意を払っていますが、安全でない可能性のあるコード (Joomla) をそこで実行する必要があります。このディレクトリ ツリー全体を open_basedir で「囲み」、同時にデータベース パスワードを隠したくないので、データベース パスワードを open_basedir ツリーの外に移動したいと考えています (接続するいくつかの機能とともに)。呼び出し元がパスワード自体を取得しないようにするため)。しかし、問題があります - open_basedir が動作しているときは、require_once も機能しません!!!
open_basedir を設定して、require_once を許可する方法はありますか?
open_basedir の制限された領域から SECRET php コードを呼び出す方法は他にありますか?
助けてください。前もって感謝します!