0

PHPは常にサーバー上のどこにでもアクセスでき、どのファイルでも何でもできると確信していますが、PHPが1つのフォルダーでのみ機能するように制限する方法があるかどうか、また要件は何ですか?

つまり、50 個の WordPress インストール、50 個のフォルダーがあるとしましょう。信頼されていないプラグインからのウイルスが 1 つのインストールにのみ影響を与える場合、即座に他の 49 にも感染します (PHP はサーバー上のすべてのディレクトリをスキャンできるため)。

それを防ぐ方法はありますか?ウイルスがWordPressの1つのインストールに侵入した場合、そこだけに留まりたい.

私のホスティングプロバイダーは、別のサーバーを購入しないと不可能だと言いました. あなたの意見は何ですか?

4

2 に答える 2

5

php-fpm を使用すると、php ワーカーをchrootして (完全な分離のために)、すべての php アプリケーションに独自のユーザーと php 構成 (タイムアウト、メモリ制限など) を与えることができます。固有のユーザーを持つために chroot を使用する必要はありません。単純なファイル アクセス許可を使用すると、その webroot の専用ユーザー以外は webroot を読み取れないようにすることができます。また、これは Apache に固有のものではなく、fastcgi をサポートする他の Web サーバーで動作します。

設定が少し簡単なのは、php のopen_basedirで中継することです (php の開発者はこの機能に関連するバグopen_basedirを頻繁に修正しているため、安全性については議論があります)。

于 2012-08-03T10:25:55.630 に答える
3

suEXECをインストールして、PHPをFastCGIモードで実行できます。この構成では、さまざまなユーザーの下でPHPインスタンスを実行できます。

私はこのチュートリアルを自分で試しませんでしたが、私には良さそうです:DebianでsuEXECを使用してPHPFastCGIをセットアップする方法

于 2012-08-03T10:18:11.963 に答える