En PHP puedes leer los archivos y entregarlos al navegador con las encabezados adecuados (header), ocultando la ubicacion real en el servidor. Lo que no puedes hacer es evitar que los guarden, porque el navegador ya lo tiene almacenado en cache y, de una u otra forma, un usuario de nivel intermedio/avanzado podra guardarlo.
Otro inconveniente es que si en el equipo o navegador del usuario no estan instalados los programas o complementos para abrir esos archivos, automaticamente aparecera la ventana de descarga y podran guardarlos sin problema.
Lo que necesitarias para evitar que cualquiera descargue los archivos:
- Sistema de gestion de usuarios
- Verificacion de inicio de sesion valida
- Al solicitar un archivo, enviar encabezados
header(), leer el archivo y enviarlo al navegador
readfile()
Con esto, en lugar de tener sitio.com/documentos/pdf/ventas.pdf
Descargarias con sitio.com/documentos.php?id=id-del-archivo-en-tu-BDD