Tôi cần phải làm một hoạt động hơi lạ.
Đầu tiên, tôi chạy trên Debian, apache2 ('chạy' dưới dạng dữ liệu www của người dùng)
Vì vậy, tôi có tệp văn bản đơn giản với .txt ot .ini hoặc bất kỳ phần mở rộng nào, không quan trọng.
Các tệp này được đặt trong các thư mục con có cấu trúc như thế này:
www.example.com/folder1/car/foobar.txt www.example.com/folder1/ Motorcycle / foobar.txt www.example.com/folder1/fish/foobar.txt www.example.com/folder1/fruit/foobar .txt
do đó, tên tệp luôn giống nhau, ditto cho 'phân cấp', chỉ cần thay đổi tên của thư mục: /folder-name-static/folder-name-dinamyc/file-name-static.txt
Những gì tôi nên làm là (tôi nghĩ) tương đối đơn giản: Tôi phải có thể đọc tệp đó bằng các chương trình trên máy chủ (ví dụ python, php), nhưng nếu tôi cố gắng truy xuất nội dung tệp bằng broswer (số hóa url www. example.com/folder1/car/foobar.txt hoặc thông qua cUrl, v.v.) Tôi phải nhận được một lỗi bị cấm hoặc bất cứ điều gì, nhưng không truy cập vào tệp .
Cũng thật tuyệt khi ngay cả việc truy cập các tệp đó qua FTP cũng bị 'ẩn' hoặc dù sao cũng không thể tải xuống (ít nhất là tôi sử dụng với dữ liệu gốc và dữ liệu người dùng ftp)
Làm thế nào tôi có thể làm được?
Tôi tìm thấy trực tuyến này, được đặt trong tệp .htaccess:
<Files File.txt>
Order allow, deny
Deny from all
</ Files>
Nó dường như hoạt động, nhưng chỉ khi tệp nằm trong thư mục gốc của web (www.example.com / myfile.txt) chứ không phải trong các thư mục con. Hơn nữa, các thư mục ở cấp độ thứ hai (www.example.com/folder1/ fruit /foobar.txt) sẽ được tạo theo kiểu dinamycally .. Tôi muốn tránh thỉnh thoảng phải thay đổi tệp .htaccess.
Có thể tạo một quy tắc, một cái gì đó tương tự, áp dụng cho tất cả các tệp có tên đã cho, đó là trên * www.example.com / thư mục-name-static / * thư mục-tên-dinamyc / *** tên tệp -static.txt *, trong đó các phần đó đều giống nhau , chỉ là ** có thay đổi không?
CHỈNH SỬA :
Như Dave Drager đã nói, tôi có thể xác định điều này để giữ các tệp đó bên ngoài thư mục có thể truy cập web. Nhưng những thư mục đó cũng sẽ chứa các tệp khác, hình ảnh và nội dung được người dùng của tôi sử dụng, vì vậy tôi chỉ đơn giản là cố gắng không có hệ thống thư mục trùng lặp, như:
/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