パスを確認します:許可または拒否
パスから最上位ディレクトリを削除します
一度。
要求されたパスがスクリプトで許可されているかどうかを確認する必要がある場合(許可されている最上位レベルにあります)
//食べましょう
$ path [] = "some /../ path / to / file";
$ path [] = "/ other / path / to / file";
//そして実際に許可されたパス
$ restriced_path = dirname(__ FILE __)。 "/";
//実際の方法を取得
$ real_path [0] = realpath($ path1); //-> "/ path / to / your / restrict / path / to / file"
$ real_path [1] = realpath($ path2); //-> "/その他/パス/ to /ファイル"
//それらを確認します
foreach($ path_としての$ real_path)
{
if(($ r = strpos($ pathn、$ restriced_path))!== false && $ r == 0)
{
echo "Path $ pathnは許可されています";
}
他に
echo "Path $ pathnは拒否されました";
}
二。
最上位のディレクトリをカットする必要がある場合
つまり / dir / path / to / file-> / path / to / file
$ path = "/ dir / path / to / file";
$ path = ltrim($ path、 "\\ /");
$ path = strpbrk($ path、 "\\ /");
echo $ path;
それだけです