Biraz garip bir operasyon yapmam lazım.
İlk olarak, Debian, apache2 ('www-data kullanıcısı olarak çalışır') üzerinde çalışırım
Yani, .txt ot .ini ile basit bir metin dosyası var, ya da herhangi bir uzantısı önemli değil.
Bu dosyalar aşağıdaki gibi bir yapıya sahip alt klasörlerde bulunur:
www.example.com/klasor1/car/foobar.txt www.example.com/klasor1/cycle/foobar.txt www.example.com/klasor1/balık/foobar.txt www.example.com/klasor1/fruit/foobar .Txt
bu nedenle, dosya adı her zaman aynıdır, 'hiyerarşi' için ditto, sadece klasörün adını değiştirin: /folder-name-static/folder-name-dinamyc/file-name-static.txt
Ne yapmalıyım (sanırım) nispeten basit: Ben sunucudaki programlar (python, örneğin php) tarafından bu dosyayı okumak gerekir, ama eğer broswer (url www kazma ile dosya içeriğini almaya çalışırsanız. example.com/folder1/car/foobar.txt veya cUrl vb. aracılığıyla) Yasak bir hata almalıyım, ya da her neyse, ancak dosyaya erişmemeliyim .
Bu dosyalara FTP yoluyla erişmenin bile 'gizli' olması veya yine de indirilememesi de hoş olurdu (en azından ftp kökü ve kullanıcı verileriyle kullanıyorum)
Nasıl yapabilirim?
Bunu çevrimiçi buldum, .htaccess dosyasına konulmalı:
<Files File.txt>
Order allow, deny
Deny from all
</ Files>
Çalışıyor gibi görünüyor, ancak yalnızca dosya web kökündeyse (www.example.com / dosyam.txt) ve alt klasörlerde değilse. Ayrıca, ikinci düzeydeki klasörler (www.example.com/folder1/ fruit /foobar.txt) dinamik olarak oluşturulacaktır. .Htaccess dosyasını zaman zaman değiştirmek zorunda kalmamak istiyorum.
* Www.example.com / klasör-adı-statik / * klasör-adı-dinamyc / *** dosya-adında olan, verilen ada sahip tüm dosyalar için geçerli olan bir kural oluşturmak mümkündür. -static.txt *, bu parçalar daima aynı , sadece ** bir değişiklik ?
DÜZENLE :
Dave Drager'ın dediği gibi, bu dosyayı web erişilebilir dizinin dışında tutarak bunu anlayabilirim. Ama bu dizinin diğer kullanıcılar da, resimler ve benim kullanıcılar tarafından kullanılan şeyler içerecektir, bu yüzden ben sadece, aşağıdaki gibi yinelenen bir klasör sistemi var çalışıyorum:
/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