
182
9
章 ファイルの操作
を読み込めます。Web サーバが特定のディレクトリでのファイルの変更や新規ファイルの書き込
みを許可されていれば、PHP エンジンと PHP プログラムも同様に許可されます。
通常、Web サーバのアカウントに拡張された権限は、実在の人物のアカウントが持つ権限より
も制限されています。Web サーバ(および PHP エンジン)は、Web サイトを構成する PHP プログ
ラムファイルをすべて読み込める必要がありますが、変更できるようにしてはいけません。Web
サーバのバグや安全ではない PHP プログラムにより攻撃者が侵入できても、攻撃者が PHP プログ
ラムファイルを変更できないようにすべきです。
実際問題としては、これは PHP プログラムが読み込む必要のあるほとんどのファイルを読み込
む際にあまり面倒がないようにすべきという意味になります(もちろん、別のユーザの個人的な
ファイルを読み込もうする場合には面倒になりますが、そうあるべき
です)。しかし、PHP プログ
ラムが変更可能なファイルや新たにファイルを書き出すことができるディレクトリは限られていま
す。PHP プログラムで新たなファイルをたくさん作成する必要があるときは、システム管理者と
協力して書き込みは可能であるがシステムのセキュリティを損なわない特別なディレクトリを作成
してください。「9.5ファイルパーミッションの検査」では、プログラムが読み書きできるファイ
ルやディレクトリを判断する方法を示します。