ファイルパスが現在のディレクトリツリーにあるかどうかを確認します。ファイルが現在のディレクトリツリーに存在するかどうかを確認するには
パラメータをjs/script.js
とします。私の作業ディレクトリ(WD)は/home/user1/public_html/site
です。現在のWDの場合は、誰かがjs/script.js
を提供している場合は、WDに追加するだけで確認できます。このような通常の経路で動作します。しかし、もし誰か(攻撃者かもしれない)が../../../../etc/password
を渡そうとするなら、それは問題になるでしょう。
RegExを使用して..
文字を削除することで抑制することができます。そして、それは確かにそれを解決します。しかし、私はどのように何かを作成することができますか?chroot
ed環境sotは、どのようなパス/ to/scriptが渡されてもWDの下で検索されるでしょうか?
編集: 私はhttp://php.net/chrootを認識しています。あなたのアプリはroot特権で動作する必要があります。 PHPから
あなたのPHPスクリプトからopen_basedirの設定をすることが可能である5.3.0。 –