Otra forma es colocar los archivos fuera del documentroot y usar la funcion readfile() para leer el archivo cuando sea necesario (cuando el usuario tenga permisos)
Documentroot es el directorio base en que estan tus scripts (o paginas), imagino que el sitio ftp está en otra rama distinta de este document root, por tanto, cuando el usuario autorizado quiere leer un archivo, tu haces:
Código PHP:
<?php
if (usuario_autorizado)
{
// Cabeceras para forzar al navegador a guardar el archivo
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header('Content-Disposition: attachment; filename="archivo.xls"');
echo readfile("ruta_ftp/archivo.xls");
}
?>