PHP中的文件上传:验证文件是否为gpx


File upload in PHP: Validating that a file is gpx

我目前正在进行一个项目,用户可以上传图像和GPX文件。验证图像没有问题,但我只是找不到一种安全的方法来确保gpx文件不是恶意文件。非常感谢任何提示!提前感谢!

编辑:有人能指出为什么这个代码不起作用吗?我所说的不工作是指它不会拒绝PDF文件。

$xml = new XMLReader();
if (!$xml->xml($_FILES["gps"]["tmp_name"], NULL, LIBXML_DTDVALID)) {
    echo '<script>alert("Not valid!");</script>';           
    exit();
}
$xmlcontents = XMLReader::open($_FILES["gps"]["tmp_name"]);
$xmlcontents->setParserProperty(XMLReader::VALIDATE, true);
if($xmlcontents->isValid() and ($xml->xml($_FILES["gps"]["tmp_name"], NULL, LIBXML_DTDVALID))) {
}
else {
    echo 'Not a valid GPS file!")';            
    exit();
}

请注意,在这里,您将文件的有效性检查为xml,以及它的扩展名试试这个