2008-08-29 18 views
2

どのようにして、PHPスクリプトが単一のユーザーだけに書き込むことを許可するなど、セキュリティ上の制限があるファイルに書き込むことを許可できますか?ワールドワイドでないファイルに書き込むPHPスクリプト

難易度は、アクセス権の低いユーザー(Apache、www、またはnobody?)として実行されているようですが、Apacheのthe_writable_fileをchownしても、そのディレクトリは書き込み可能ではない可能性があります低レベルのユーザー一般的に、PHPが安全にローカルファイルを扱うことができる通常の方法は何ですか?

答えて

2

残念ながら、mod_phpを使用する共有ホストでは、のアクセスを制限して、Webアプリケーションとログインユーザーにファイルを保護することはできません。

解決策は、としてウェブアプリケーションを実行することです。これを実行すると、UNIXファイルのアクセス権によって他のすべてのユーザーを正しくロックできます。 SuExec,suPHP、またはmod_fcgidまたはmod_proxy_fcgidのFastCGIでPHPを実行するなど、いくつかの方法があります。 FastCGIが私の好きな方法です。

別の解決方法は、専用のホストまたは仮想プライベートサーバーを使用することです。

0

確かに、chgrp apache the_writable_fileおよびchmod g+w the_writable_file。その後、セキュリティ保護されたユーザーとApacheユーザーだけがファイルに書き込むことができます。 apacheユーザーは通常ログインを禁止されているので、httpデーモンを使用してセキュリティ保護されたファイルに書き込むWebユーザーについて心配する必要があります。

0

すべてのフォルダには実行権限が必要です。

例えば、ファイルが/foo/bar/the_writable_fileである場合、ディレクトリ "foo"と "bar"には、書き込み/書き込み許可がない場合でも、_書き込み可能ファイルにアクセスするための実行可能パーミッションが必要です。

関連する問題