問題タブ [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.
php - PHP で open_basedir を IIS の FastCGI として使用する理由
IIS での PHP のインストールを FastCGI として説明しているチュートリアルをいくつか見てきましたが、open_basedir を Web サイトのコンテンツが配置されているフォルダーまたはネットワーク パスを指すように設定することを推奨しています。
アプリケーション サーバーで open_basedir を設定すると、ファイルの管理時に次のエラーが表示されました: 警告: open_basedir の制限が有効です。ファイル (C:\Windows\Temp\php92E7.tmp) が許可されたパス内にありません: (C:\inetpub\wwwroot)
inetpub の下に一時ディレクトリを設定できることは理解していますが、windows\temp を使用することが問題になる理由がわかりません。
IIS で FastCGI が open_basedir の制限を要求するため、PHP に安全上の欠陥はありますか? そうでない場合、なぜ推奨されるのですか?それとも不要ですか?正しいアクセス許可を持つ AppPool ID を使用して、open_basedir の利点を得ることができますか?
php - open_basedir、File() が許可されたパス内にありません
Media Temple DV にインストールされている Laravel に問題があります。
これは、この問題を引き起こしているコードです:
許可の問題かもしれないと思っていますが、よくわかりません。
php - ハムハブ登録エラー
共有ウェブホストにhumhubをインストールしました。新規ユーザーとして登録しようとすると、次のエラーが表示されます。
htaccess フォルダー以外のファイルにアクセスできません。この問題を解決する方法はありますか?
そのトピックについてはすでに github で議論されていますが、あまり役に立ちません。 https://github.com/humhub/humhub/issues/129#issuecomment-60216954
回答ありがとうございます
security - nginx と php5-fpm open_basedir の制限が有効で、攻撃を受けていますか?
Ubuntu 13.10 nginx および php5-fpm の VPS でアプリケーションを実行しています。Web サーバーは、セキュリティのベスト プラクティスに従って非常に慎重にセットアップされています。アプリはあらゆる種類のインジェクションを回避するように作成およびテストされており、ユーザーの入力データはフィルター処理されており、ファイルのアップロードは許可されていません。また、アプリケーションにアップロード フォームがないため、サーバーが強力な制限とアクセス許可のみで構成されていたとしても、から読み取るユーザーの場合、セキュリティを強化するために PHP ディレクティブopen_basedir
も設定されており、デフォルト値は次のとおりです。
順調に進んでいますが、php-fpmログファイルを見ていて、次のエラーが頻繁に見られます。
EDITFile upload error
:ログファイルから欠落している情報を追加しました:
これはどこから来ているのでしょうか?エラーは、ファイル名または IP などの要求の詳細を指していませんでした。
私のアプリやサーバーは侵害されていますか? または、アップロードフォームを偽造してサーバーにファイルをアップロードしようとしている他の誰かが、私がチェックアウトしたため、コンピュータファイルシステムでファイルが変更されていないため、AFAIKは不可能です。
私はサーバーのセキュリティについて非常に心配しているので、それを理解することはできません! 誰もこの問題を経験しましたか?
php - open_basedir パスは何に設定すればよいですか?
マルチサイト WordPress セットアップを使用して構築された Web サイトがあります。
オンラインで次のアドバイスを見つけました。
PHP がファイルシステム内の他のディレクトリにアクセスするのを防ぐために、ベース ディレクトリ (例: "/var/www/") を強制することをお勧めします。
パスを何に設定すればよいですか?
- ホーム/マイサイト/
- ホーム/mysite/public_html
- ホーム/mysite/public_html/something-else
編集:より正確なコンテキストのために、VPSで複数のWebサイトを管理するためにWHMを介してopen_basedirを構成しています。
php - PHP の open_basedir をソケット パスに適用できますか?
PHPマニュアルには次のように記載されています。
open_basedir (文字列)
PHP がアクセスできるファイルを、ファイル自体を含めて、指定されたディレクトリ ツリーに制限します。このディレクティブは、セーフ モードがオンかオフかに関係なく影響を受けます。
スクリプトが include や fopen() などを使用してファイルシステムにアクセスしようとすると、ファイルの場所がチェックされます。ファイルが指定されたディレクトリ ツリーの外にある場合、PHP はそのファイルへのアクセスを拒否します。
また、もう少し...
open_basedir は、ファイルシステム機能以外にも影響を与える可能性があります。たとえば、MySQL が mysqlnd ドライバーを使用するように構成されている場合、LOAD DATA INFILE は open_basedir の影響を受けます。PHP の拡張機能の多くは、このように open_basedir を使用しています。
ただし、この制限はソケット操作には及ばないようです。私のサーバーでは、 に設定open_basedir
しても、関数を介して/home:/tmp
下のソケット ファイルにアクセスできます(( ) をまたはの下のねじれた場所に移動していないことに注意してください)。/run
socket_connect
/var/run
/run
/home
/tmp
の制限を拡張open_basedir
してソケット ファイル* パスを含める方法は/home
あり/tmp
ますか?
* ソケット ファイルは実際には「開かれる」のではなく、socket_connect
関数とbind
システム コールによって「バインドされる」ことを理解しています。ただし、open_basedir
ファイルシステム以外の機能に適用されるようです...方法があると思います。