Что вы хотите предотвратить?Вы хотите запретить кому-либо видеть имена файлов изображений, но разрешить им извлекать любое изображение, когда они знают имя файла?В этом случае удалите привилегию чтения для этого конкретного каталога:
chmod 711 /path/to/directory
Таким образом, никто, кроме владельца каталога, не сможет получить список имен файлов из каталога, но доступ к файлам все еще разрешен (1
- это просто привилегия выполнения для каталога, необходимая для «обхода каталога»).
Конечно, вы должны убедиться, что имена файлов изображений действительно не угаданы, и надеяться, что ваши пользователи не распространятвокруг URL-адресов (это простой способ обойти контроль доступа на распространенных сайтах, таких как Facebook).Выполните приличные проверки контроля доступа в своей программе, если вы действительно хотите получить доступ только для аутентифицированных пользователей или авторизованных пользователей, или что-то подобное.