2016-06-21 3 views
0

Apache2で動作するPHPアプリケーションの設定を入力した後、/ etcに設定ファイルを保存する最も安全な方法は何ですか?PHPアプリケーションから/ etcに書き込む最も安全な方法は?

起動時に/etc/mydaemon/main.confに保存されているファイルからデーモンの設定を読み込んでいます(その設定を保存するのに最適な場所だと思いました)。

今、私は、ユーザーがエレガントなWebページ経由で設定を変更できるようにするPHPアプリケーションを持っていたいと思います。しかし、サーバーのセキュリティを損なうことなくこのファイルの書き込み/上書きの権利を得るにはどうすればよいですか?

+0

このタイプの構成は、システム構成ファイルよりもデータベースに保管するほうがよくなります。 – Quentin

答えて

0

Apacheユーザー(www-data)が/etcを書き込んだり修正したりすると、すべてのシステムが危険にさらされます。

PHPアプリケーションのユーザーが悪意のある設定を変更する可能性がある場合、動作は混乱する可能性があります。あなたは "users"について語り、その設定ファイルを同時に変更しました。

@quentinは、永続性が必要な場合はデータベースを使用すると言います。またはアプリケーションファイル(/etcまたは他のシステムディレクトリにはありません)。

+0

さらに説明すると、私はRaspberry Piをベースにしたパッケージ化されたシステムを考えています。最初は、一度保存される周辺モジュールの設定を入力すると、ネットワークパラメータを設定する、一度。私が「ユーザー」と言うと、それはエンドデバイスごとに1人のユーザーを意味し、マルチユーザーを意図したものではありません。私はしばしば、あなたが/ etc/interfacesに書き込まれたネットワークパラメータを変更できるWeb管理ページを持っているLinuxやBSDに依存しているパッケージ化されたアプライアンスを見ています。これは – Sierramike

+0

http://www.webminのようなものです。 comは良い例です。 WebminはWebサーバとシステムユーザを使用します。もちろん、 '/ etc'の権限(オーナー、グループ、またはすべて)をapacheユーザ(Debianシステムの** www-data **)にアサインすることはできますが、危険な穴です。 –

+0

この回答をありがとう、それを知らなかった、私はそれがApache上に横たわっていると思った。そのような設定ファイルの良いパスは何ですか?私はいつもすべてのconfが/ etcに行かなければならないと思っていた – Sierramike

関連する問題