Files
MVE/public/ver_opinion.php
2025-05-05 11:03:01 -06:00

34 lines
995 B
PHP

<?php
session_start();
// 🚨 Paso 1: Validar sesión de usuario
if (!isset($_SESSION['usuario_id'])) {
http_response_code(403);
echo "Acceso denegado. Debes iniciar sesión.";
exit;
}
// 🚨 Paso 2: Validar parámetro
if (!isset($_GET['file']) || empty($_GET['file'])) {
http_response_code(400);
echo "Archivo no especificado.";
exit;
}
$archivo = basename($_GET['file']); // Previene path traversal (../)
$ruta = realpath(__DIR__ . '/../storage/opiniones/' . $archivo);
// 🚨 Paso 3: Validar que el archivo exista y esté dentro del folder permitido
$directorioPermitido = realpath(__DIR__ . '/../storage/opiniones/');
if (!$ruta || !file_exists($ruta) || strpos($ruta, $directorioPermitido) !== 0) {
http_response_code(404);
echo "Archivo no encontrado o fuera de rango.";
exit;
}
// ✅ Paso 4: Mostrar el archivo
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="' . $archivo . '"');
readfile($ruta);
exit;