在 PHP 中访问文件时,可以使用“..”从目录中转义,这可能会导致安全风险。有什么方法可以验证文件是否在指定目录中?它似乎没有内置功能。
问问题
2157 次
2 回答
4
这不是检查文件是否存在于预期位置的安全方法。您应该执行以下操作。
$base = '/expected/path/';
$filename = realpath($filename);
if ($filename === false || strncmp($filename, $base, strlen($base)) !== 0) {
echo 'Missing file or not in the expected location';
}
else {
echo 'The file exists and is in the expected location';
}
于 2012-08-05T13:20:57.227 回答
-3
php.net上有一个很好的例子
http://php.net/manual/en/function.file-exists.php
<?php
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
于 2012-08-05T13:18:10.007 回答