所以我有许多用于存储数据的 .txt 和 .xml 文件,无论如何我可以让它们存储数据,但用户无法在 Web 浏览器中打开它们?
我在想他们可能是一种使用 .htaccess 来做到这一点的方法,但到目前为止,在对此事进行研究时还没有找到任何答案
将它们存储在文档根目录之外,这样您的 Web 服务器将无法回复对它们的请求。这将比依赖.htaccess
文件更可靠。
.
<Files ~ "\.txt$">
Order allow,deny
Deny from all
</Files>
<Files ~ "\.xml$">
Order allow,deny
Deny from all
</Files>
创建一个 .htaccess 文件并将其放入您的目录并使用:
<filesMatch ".(txt|xml)$">
order deny,allow
deny from all
allow from your.ip.xxx.xxx ## add this line if you allow certain users access to your data
</filesMatch>
或者您可以将 .txt/xml 文件移到根目录之外,除非您的脚本需要大量修改,否则我建议这样做,但这是值得的。
有两种方法可以解决这个问题。如果您的服务器是 Apache,您可以将文件存储到名为“data”的特定文件夹或任何您喜欢的文件夹中,在此文件夹中,您将有一个.htaccess
文件,其中包含以下单行:Deny from all
. 就是这样,就像魅力一样。
但是,一旦某些服务器维护可以使 Apache 忽略.htaccess
文件一段时间,它并不能完全保证 100%,那么您的安全性就没有了。在这种情况下,您可能更愿意将这些文件存储在公用文件夹之外。
托管网站时,通常的做法是有一个类似的组织/home/mywebsite.com/public_html/
,其中public_html
子文件夹是世界上实际看到的您的网站结构所在的位置,但/home/mywebsite.com/
文件夹内的所有内容也属于您可以随心所欲地使用,主要用于存储不应该被公众访问的文件和信息。
该组织还可能对防止敏感.php
文件(特别是包含密码的文件)被公众直接访问感兴趣,Apache 维护人员可以再次使其停止解释 PHP 文件并改为显示代码。它发生在我身上一次,并不酷。