ファイルシステムのセキュリティ目次PHP は、ファイルおよびディレクトリ毎に権限を設定する多くのサーバーシ ステム上に組み込まれたセキュリティを提供します。これにより、ファイ ルシステム内のファイルを読み込み可能に制御することが可能になります。 全てのファイルは世界中から読み込み可能であり、このファイルシステム にアクセスした全てのユーザーから読み込まれても安全であることを確認す る必要があります。 PHPは、ファイルシステムにユーザーレベルのアクセスを許可するように設 計されているため、PHPスクリプトから /etc/passwd のようなシステム ファイルを読み込み可能としたり、イーサネット接続を修正したり、巨大 なプリンタジョブを出力したりすることができます。これから明らかにわ かることですが、読み書きするファイルを適切に設定する必要があります。 各自のホームディレクトリにあるファイルを削除する次のスクリプトを見 てみましょう。これは、ファイル管理用にWebインターフェイスを使用す る場合に通常生じるような設定を仮定しています。この場合、Apacheユー ザはそのユーザーのホームディレクトリにあるファイルを削除可能です。
例1 甘い変数の確認から生じるリスク
"../etc/" と "passwd" であった場合について考えてみましょう。簡単
なコードを以下に示します。
例2 ... ファイルシステムへの攻撃
例3 より安全なファイル名の確認
"../etc/" へのログインを選択した場合、システム
はまたも公開されてしまいます。このため、よりカスタマイズされたチェッ
クを行なう方がよいでしょう。
例4 より安全なファイル名の確認
オペレーティングシステムによって、注意するべきファイルは大きく変化し
ます。これらには、デバイスエントリ(/dev/ または /dev/)、設定ファイル(/etc/ ファイルおよび |