有人说.htaccess是Apache的路由重写文件,这么说也对,但不全面。另一种的用法就是保护某个目录内的内容:

1. 拒绝一切访问操作
2. 对授权用户限制访问

咋听或许有点不可思议,但是确实在很多情况下,Web目录内和文件应该被设置为不可访问。

举例来说,站点程序中的模块目录理应被设置为不可访问。就如同保存敏感的PHP脚本以及上传文件的目录一样。在所有这些情况中,目录的内容应该不被允许直接访问, 而是可以被其他目录下的PHP脚本在需要的时候来引用其内容。

要阻止对一个目录内容的完全访问,可以在该目录下放置一个含有下述代码的的.htaccess文件

#禁用目录浏览
Options All -Indexes
#阻止文件夹列表
IndexIgnore *
#防止访问任何文件
<FilesMatch "^.*$">
Order Allow,Deny
Deny from all
</FilesMatch>

同样,这些代码只是阻止通过一个网页浏览器对目录内容的直接访问。在一个PHP 脚本中,还是可以使用include()、require()、readfile()以及其他函数访问到文件夹的内容的。当然在其他成熟的开源产品中也有在目录中放index.html的空文件的。

Last modification:January 3, 2020
如果觉得我的文章对你有用,请随意赞赏