0

使用 URL 变量防止动态文件访问的最佳方法是什么?我正在连接两个 URL 变量,它们将形成我要访问的文件名,该文件名将加载 XML。

$type = $_REQUEST['type']
//(ie. AB);
$timeframe = $_REQUEST['timeframe']
//(ie. 00.04);

//create XML document object model (DOM)
$main_doc = new DOMDocument();
$s = SITE_DIR."/data/file.".$type.".".$timeframe.".xml"; 
// example file.AB.00.04.xml)
// will be adding test to see if file exists
$main_doc->load($s);
4

1 回答 1

2

您应该检查请求字符串是否不包含“..”并且也不包含“/”(如果您在 Windows 上,则为“\”),以便路径不指向您所在的目录以外的目录参考。

也许试试这个:

$timeframe = str_replace(array('..','/','\'),array('','',''),$timeframe);
于 2012-06-06T17:31:43.343 回答