清理$_GET['']请求的最佳方法是什么?我想只允许从一个目录下载文件.
$baseDir = "/home/html/xy.com/public_html/downloads/";
$path = realpath($baseDir . $_GET['file']);
Run Code Online (Sandbox Code Playgroud)
你下一步怎么做?
Bra*_*rad 13
以下是我在那里排队后会做的事情:
if (dirname($path) === $baseDir) {
//Safe
}
Run Code Online (Sandbox Code Playgroud)
基本上,在发送任何文件实际位于您支持的路径之前进行检查.注意,您还必须/在文件名(in $path)之前添加自己的文件并将其从$baseDir定义中删除,因为dirname()不会留下尾随路径分隔符.