2

我有一个访问文件目录的扩展名。我使用 ajax 函数发送需要访问控制器的路径,在控制器中我使用 $_GET 因为我还没有弄清楚如何让它工作。

$image_file_path = $_GET["url_region"];
$d = dir($image_file_path) or die("File not found!");

但是,当然,当您请求 ../../.. 之类的其他内容时,您可以访问所有其他目录。

你能建议我一种消毒方法吗?请!

4

3 回答 3

1

t3lib_div::_GET()无论 php.ini magic_quotes 说什么,您都应该考虑使用 which unescapes 参数。

于 2013-06-13T12:23:04.233 回答
1

您应该提供一个cHashas URL 参数并让 TYPO3 验证这一点。这样您就可以确定 URL 是由 TYPO3 自己生成的,因此是有效的。

于 2013-05-29T12:32:24.287 回答
0

您可以轻松地使用正则表达式来捕获所有“../” - 参数值。另一种方式可能是,在数组或其他东西中定义可用路径,以检查正确的访问。

于 2013-06-04T06:58:16.983 回答