一般来说很多虚拟主机预设是没有开启保护网站主机目录下的文件,其实很危险的,假若你的目录下忘记放置index文件,那很可能您目录就被看光,一个不小心很可能重要资料就被拿走,这是蛮严重的一件事情。如果是Linux主机,我们可以透过简易的.htaccess语法来保护网站主机目录下的文件,让别人无法轻易看见。
平常我们使用的最简单保护目录的方法,莫过于使用「index.php」、「index.html」等等之类的网站index文件,因为主机内预设的设定在目录中预设就是要抓index文件,而index文件通常会有很多种,主机会依续排列下来抓取,所以可以设定index文件来让主机抓取,以达到保护目录的效果。但如果主机需要的index文件没有一个存在,这时候主机就会直接显示目录内的东西了,因为主机不知道要抓取谁当作主要网页,所以会全部显示。
虽然使用index文件来保护目录是可行的,但是每个子目录都需要传一个index文件其实蛮累人的,这时候我们就可以利用「.htaccess」来批量处理。
Options -Indexes
语法的进阶使用
当然该语法还有其他相关的用途,以下列出简单的几项供大家参考使用,如果你觉得以下的语法不是你想要或是想学更多,你可以到Apache官方网站来看看英文说明书,查看看还有什么关于「indexoptions」的用途或是其他不错的功能喔!
- Options +Indexes:显示目录下所有文件
- Options -Indexes:隐藏目录下所有文件 (上面已经介绍过)
- IndexOptions +FancyIndexing:显示目录下所有文件,文件前面包含档案类型的小图示
- IndexOptions -FancyIndexing : 显示目录下所有文件,但不包含文件类型的小图示
- IndexIgnore *.php *.exe:隐藏特定的文件, 其余文件正常显示(隐藏所有的php和exe文件)
你也可以将某个目录下的所有文件隐藏,例如你的网站是http://www.example.com 然后你的图片地址是images 即:http://www.example.com/inages
你不想别人通过访问http://www.example.com/inages来查看到你的图片 你可以在目录下新建一个.htacess文件,添加如下内容
IndexIgnore * #即可
符号“*”是通用符,所有文件夹都被禁止直接访问。
一般来说目录被看到是极其危险的一件事情,所以隐藏相应的目录是十分有必要的。
转载自:http://www.sjyhome.com/htaccess/protecting-the-directory-and-file.html