HTTP_REFERER no es muy confiable....
para que solo pueda descargar archivos con extension determinada, no se si entendi bien pero segun lo que entiendo , si van a descargar algo puedes verificar la extencion del archivo con el grupo de extenciones permitidos guardados en un array
Código PHP:
<?php
$directorio = $_GET['path'];
$nomArchivo=$_GET['archivo'];
$extArch=explode(".",$nomArchivo);
$misExtArray=array("doc","mp3","jpg","exe","gif");
if (in_array ($extArch[1], $misExtArray)){
echo "encontrado en mi lista de arch permitidos";
$enlace = $directorio."/".$archivo;
header ("Content-Disposition: attachment; filename=".$archivo."\n\n");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
}else{
echo "no encontrado";
die("el archivo que intenta usar no esta permitido");
exit;
}
?>
saludos