Muszę wykonać operację trochę dziwną.
Najpierw uruchamiam na Debianie, apache2 (który „działa” jako dane www użytkownika)
Mam prosty plik tekstowy z rozszerzeniem .txt ot .ini lub jakimkolwiek rozszerzeniem, nie ma znaczenia.
Te pliki znajdują się w podfolderach o takiej strukturze:
www.example.com/folder1/car/foobar.txt www.example.com/folder1/cycle/foobar.txt www.example.com/folder1/fish/foobar.txt www.example.com/folder1/fruit/foobar .tekst
dlatego nazwa pliku jest zawsze taka sama, podobnie jak w przypadku „hierarchii”, wystarczy zmienić nazwę folderu: /folder-name-static/folder-name-dinamyc/file-name-static.txt
To, co powinienem zrobić, jest (myślę) stosunkowo proste: muszę być w stanie odczytać ten plik przez programy na serwerze (na przykład python, php), ale jeśli spróbuję odzyskać zawartość pliku przez broswer (przeglądanie adresu URL strony internetowej. przyklad.com/folder1/car/foobar.txt lub przez cUrl itp.) Muszę otrzymać niedozwolony błąd lub cokolwiek innego, ale nie mogę uzyskać dostępu do pliku .
Byłoby również miło, że nawet dostęp do tych plików przez FTP jest „ukryty” lub w każdym razie nie można go pobrać (przynajmniej, że używam z rootem ftp i danymi użytkownika)
Jak mogę to zrobić?
Znalazłem to online, umieść w pliku .htaccess:
<Files File.txt>
Order allow, deny
Deny from all
</ Files>
Wygląda na to, że działa, ale tylko wtedy, gdy plik znajduje się w katalogu głównym (www.example.com / myfile.txt), a nie w podfolderach. Co więcej, foldery na drugim poziomie (www.example.com/folder1/ fruit /foobar.txt) będą tworzone dynamicznie. Chciałbym od czasu do czasu unikać zmiany pliku .htaccess.
Możliwe jest utworzenie reguły, która jest podobna, dla wszystkich plików o podanej nazwie, która znajduje się na * www.example.com / folder-name-static / * folder-name-dinamyc / *** file-name -static.txt *, gdzie te części są zawsze takie same , tylko ** ta jedna zmiana ?
EDYCJA :
Jak powiedział Dave Drager, mógłbym to uprościć, utrzymując te pliki poza katalogiem dostępnym w Internecie. Ale te katalogi będą również zawierać inne pliki, obrazy i inne rzeczy używane przez moich użytkowników, więc po prostu staram się nie mieć systemu zduplikowanych folderów, takich jak:
/var/www/vhosts/example.com/httpdocs/folder1/car/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/cycle/[other folders and files here]
/var/www/vhosts/example.com/httpdocs/folder1/fish/[other folders and files here]
//and, then for the 'secrets' files:
/folder1/data/car/foobar.txt
/folder1/data/cycle/foobar.txt
/folder1/data/fish/foobar.txt