te coloco el codigo con verificacion de logueo o sesion:
Código PHP:
Ver original
if (isset($_SESSION['usuario']) && $_SESSION['logueado'] == true && $_SESSION['estados']== "Activo") {
//si estan logueados o autenticados continuamos con el proceso de descarga
}
else
{
//si no estan autenticados simplementes los mando a volar y no descargan nada
header('Location:/app/error_acceso.php');
}
//aqui continuo si el usuario esta autenticado
//verificamos que la variable no venga vacia
if (!isset($_GET['archivo']) || empty($_GET['archivo'])) { //si viene vacia cierro el codigo y hasta aqui llega
}
//en caso contrario asignamos la variable
$archivo = $_GET['archivo'];
//ejecutamos la funcion de descarga
function descarga($archivo){
//extraemos la extension del archivo
//esta parte del codigo es solo si tienes los archivos ordenados en varios directorios, en caso contrario la puedes eliminar hasta donde dice AQUI
//asignamos el directorio donde se encuentras esos archivos
switch ($e) {
case 'rar':
$url = 'comprimidos/';
break;
case 'doc':
$url = 'documentos/. ';
break;
case 'pdf':
$url = 'documentos/. ';
break;
case 'jpg':
$url = 'img/. ';
break;
}
//hasta aqui eliminas AQUI
/*La siguiente linea la descomentas si eliminas lo anterior ya que todos tus archivos estan en el mismo directorio*/
//$url = "directorio/";
//iniciamos el proceso de descarga
$root = $url;
$path = $root.$file;
$type = '';
}
if ($type == '') {
$type = "application/force-download";
}
// Generamos las cabeceras
header("Content-Type: $type"); header("Content-Disposition: attachment; filename=$file"); header("Content-Transfer-Encoding: binary"); header("Content-Length: " . $size); // Inicia la descarga del archivo
} else {
die("El Archivo no existe!!"); }
}
es fácil de interpretar ya que solo vas a modificar unas pocas lineas y ya estara trabajando, la ventaja, pues nadie va a saber en que directorio guardas tus archivos y nadie que no este autenticado va a poder descargar los archivos:
los enlaces los corrijo:
Código HTML:
Ver original<a href="descarga.php?archivo=tuarchivo.rar">Descargar
</a>
como puedes ver en el enlace ahora no estoy colocando la ruta completa a mi archivo si no la ruta al php que va a verificar al usuario y generar la descarga sin mostrar nada adicional.
Saludos