如何在Typo3扩展上清理$ _GET?

时间:2013-05-29 12:30:48

标签: typo3 extbase

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

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

但是当你要求其他东西如../../ ..时,你可以访问所有其他目录。

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

3 个答案:

答案 0 :(得分:1)

您应该提供cHash作为网址参数,然后让TYPO3验证。通过这种方式,您可以确定TYPO3本身已生成URL,因此有效。

答案 1 :(得分:1)

你应该考虑使用t3lib_div::_GET()来取消参数,无论php.ini magic_quotes说什么。

答案 2 :(得分:0)

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