Apache设置禁止访问网站目录

来源:互联网 发布:国籍 知乎 编辑:程序博客网 时间:2024/05/20 01:46

参考:
http://blog.csdn.net/ithomer/article/details/50487296
使用Apache作为Web服务器的时候,在当前目录下没有index.html|php等入口就会显示目录。让目录暴露在外面是非常危险的事。
找到Apache的配置文件 /etc/apache2/apache2.conf

<Directory /var/www/>        Options Indexes FollowSymLinks        AllowOverride None        Require all granted</Directory>

修改为

<Directory /var/www/>        Options FollowSymLinks        AllowOverride None        Require all granted</Directory>

其实就是将Indexes去掉,Indexes表示若当前目录没有index.html就会显示目录结构。

禁止访问某些文件/目录

通过增加Files选项来控制,比如不允许访问 .inc 扩展名的文件,保护php类库:

<Files ~ ".inc$">Order allow,denyDeny from all</Files>

比如

## The following lines prevent .htaccess and .htpasswd files from being# viewed by Web clients.#<FilesMatch "^\.ht">        Require all denied</FilesMatch>

禁止访问.ht开头的文件,这里主要是禁止访问.htaccess.htpasswd
再如禁止访问图片

<FilesMatch .(?i:gif|jpeg|png)$>     Order allow,deny     Deny from all</FilesMatch>

禁止访问指定的目录

<Directory ~ "^/var/www/(.+/)*[0-9]{3}">     Order allow,deny     Deny from all</Directory>

即禁止访问/var/www目录下的满足该正则的目录。