나는 조금 이상한 작업을해야합니다.
먼저 데비안 apache2에서 실행합니다 (사용자 www-data로 '실행').
따라서 .txt ot .ini 또는 간단한 확장명을 가진 간단한 텍스트 파일이 중요하지 않습니다.
이러한 파일은 다음과 같은 구조의 하위 폴더에 있습니다.
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 .txt
따라서 파일 이름은 항상 동일합니다. '계층 구조'의 경우 폴더 이름을 변경하면됩니다. /folder-name-static/folder-name-dinamyc/file-name-static.txt
내가해야 할 일은 상대적으로 간단하다고 생각합니다. 서버의 프로그램 (예 : python, php)으로 파일을 읽을 수 있어야하지만 broswer (URL www를 숫자로 표시)로 파일 내용을 검색하려고하면. example.com/folder1/car/foobar.txt, 또는 cUrl 등을 통해) 금지 된 오류 또는 기타 사항이 발생하지만 파일에 액세스해서는 안됩니다 .
FTP를 통해 해당 파일에 액세스하는 경우조차도 '숨겨져 있거나'어쨌든 다운로드 할 수 없습니다 (적어도 ftp 루트 및 사용자 데이터와 함께 사용하는 경우)
어떻게해야합니까?
이 파일을 온라인에서 찾았습니다. .htaccess 파일에 넣으십시오.
<Files File.txt>
Order allow, deny
Deny from all
</ Files>
파일이 하위 폴더가 아닌 웹 루트 (www.example.com / myfile.txt)에있는 경우에만 작동하는 것 같습니다. 또한 두 번째 수준의 폴더 (www.example.com/folder1/ fruit /foobar.txt)는 동적으로 생성됩니다. 때때로 .htaccess 파일을 변경하지 않아도됩니다.
* www.example.com / folder-name-static / * folder-name-dinamyc / *** file-name에 있는 지정된 이름을 가진 모든 파일에 적용되는 규칙을 만들 수 있습니다. -static.txt *, 그 부분들이 항상 같으면 ** 하나만 바뀌 나요?
편집 :
Dave Drager가 말했듯이, 해당 파일을 웹 액세스 가능 디렉토리 외부에 유지하여 이것을 단순화 할 수 있습니다. 그러나 해당 디렉토리에는 다른 사용자 파일, 이미지 및 사용자가 사용하는 내용이 포함되어 있으므로 다음과 같은 중복 폴더 시스템을 사용하려고하지 않습니다.
/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