我有一个访问文件目录的扩展名。我使用 ajax 函数发送需要访问控制器的路径,在控制器中我使用 $_GET 因为我还没有弄清楚如何让它工作。
$image_file_path = $_GET["url_region"];
$d = dir($image_file_path) or die("File not found!");
但是,当然,当您请求 ../../.. 之类的其他内容时,您可以访问所有其他目录。
你能建议我一种消毒方法吗?请!
t3lib_div::_GET()
无论 php.ini magic_quotes 说什么,您都应该考虑使用 which unescapes 参数。
您应该提供一个cHash
as URL 参数并让 TYPO3 验证这一点。这样您就可以确定 URL 是由 TYPO3 自己生成的,因此是有效的。
您可以轻松地使用正则表达式来捕获所有“../” - 参数值。另一种方式可能是,在数组或其他东西中定义可用路径,以检查正确的访问。