我有一个访问文件目录的扩展程序。我使用ajax函数发送需要访问控制器的路径,在控制器中我使用$ _GET因为我还没弄清楚如何使其工作。
$image_file_path = $_GET["url_region"];
$d = dir($image_file_path) or die("File not found!");
但是当你要求其他东西如../../ ..时,你可以访问所有其他目录。
你可以建议我一种消毒方法吗?请!答案 0 :(得分:1)
您应该提供cHash
作为网址参数,然后让TYPO3验证。通过这种方式,您可以确定TYPO3本身已生成URL,因此有效。
答案 1 :(得分:1)
你应该考虑使用t3lib_div::_GET()
来取消参数,无论php.ini magic_quotes说什么。
答案 2 :(得分:0)
您可以轻松地使用正则表达式来捕获所有“../” - 参数的值。另一种方法是,在数组中定义可用路径,或者其他东西,以检查正确的访问。