Str*_*rae 21 files permissions apache-2.2
我需要做一个有点奇怪的操作。
首先,我在 Debian、apache2 上运行(以用户 www-data 的身份“运行”)
所以,我有 .txt 或 .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 。文本
因此,文件名始终相同,“层次结构”也是如此,只需更改文件夹的名称:/folder-name-static/folder-name-dinamyc/file-name-static.txt
我应该做的是(我认为)相对简单:我必须能够通过服务器上的程序(例如python,php)读取该文件,但是如果我尝试通过浏览器检索文件内容(数字化网址www. example.com/folder1/car/foobar.txt,或通过 cUrl 等。)我必须得到一个禁止的错误,或其他什么,但不能访问文件。
即使通过 FTP 访问这些文件也是“隐藏的”,或者无论如何都无法下载(至少我与 ftp 根和用户数据一起使用),这也很好
我能怎么做?
我在网上找到了这个,放在文件 .htaccess 中:
<Files File.txt>
Order allow, deny
Deny from all
</ Files>
Run Code Online (Sandbox Code Playgroud)
它似乎有效,但前提是文件位于 Web 根目录 (www.example.com / myfile.txt) 中,而不是子文件夹中。此外,在第二级(www.example.com/folder1/文件夹水果/foobar.txt)将dinamycally创建..我想,以避免随时更改.htaccess文件时间。
可以创建一个类似这样的规则,该规则适用于具有给定名称的所有文件,该文件位于 *www.example.com/folder-name-static/ *folder-name-dinamyc/***file-name -static.txt*,这些部分都是一样的,只是**那一个变化?
编辑:
正如 Dave Drager 所说,我可以将这些文件保留在 Web 可访问目录之外。但是这些目录也将包含我的用户使用的其他文件、图像和内容,因此我只是尝试不使用重复的文件夹系统,例如:
/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
Run Code Online (Sandbox Code Playgroud)
rkt*_*hkr 30
您可以使用Files / FilesMatch和正则表达式:
<Files ~ "\.txt$">
Order allow,deny
Deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)
这就是 .htpasswd 的保护方式。
或将 .txt 的任何访问重定向到 404:
RedirectMatch 404 \.txt$
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
58121 次 |
最近记录: |