<p>当我们访问某个网站时,在后面增加相应的目录,就可以浏览到目录,对于网站来说,是很不安全的。</p><p> </p><p> 解决办法:</p><p> 1、编辑httpd.conf文件</p><p> vi ./conf/httpd.conf</p><p> 找到如下内容:</p><pre class="brush:bash;toolbar:false"><Directory"C:/ProgramFiles/Apache2.2/htdocs">
#
#PossiblevaluesfortheOptionsdirectiveare"None","All",
#oranycombinationof:
IndexesIncludesFollowSymLinksSymLinksifOwnerMatchExecCGIMultiViews
#
#Notethat"MultiViews"mustbenamed*explicitly*---"OptionsAll"
#doesn'tgiveittoyou.
#
#TheOptionsdirectiveisbothcomplicatedandimportant.Pleasesee
#http://httpd.apache.org/docs/2.2/mod/core.html#options
#formoreinformation.
#
OptionsIndexesFollowSymLinks
#
#AllowOverridecontrolswhatdirectivesmaybeplacedin.htaccessfiles.
#Itcanbe"All","None",oranycombinationofthekeywords:
#OptionsFileInfoAuthConfigLimit
#
AllowOverrideNone
#
#Controlswhocangetstufffromthisserver.
#
Orderallow,deny
Allowfromall
</Directory></pre><p> 在Options Indexes FollowSymLinks在Indexes前面加上 - 符号。</p><p> 即: Options -Indexes FollowSymLinks</p><p> 【备注:在Indexes前,加 + 代表允许目录浏览;加 - 代表禁止目录浏览。】</p><p> 这样的话就属于整个Apache禁止目录浏览了。</p><p> 如果是在虚拟主机中,只要增加如下信息就行:</p><p>注意:虚拟主机中,在上面的 Options Indexes FollowSymLinks 注释掉,虚拟主机才起作用。</p><pre class="brush:bash;toolbar:false"><Directory"D:\test">
Options-IndexesFollowSymLinks
AllowOverrideNone
Orderdeny,allow
Allowfromall
</Directory></pre><p> 这样的话就禁止在test工程下进行目录浏览。</p><p>备注: 切记莫把"Allow from all"改成 "Deny from all",否则,整个网站都不能被打开。</p><p>http://morgan363.javaeye.com/blog/645363</p><p>请问Apache如何屏蔽目录列表同时保留目录访问的默认页面?</p><p>关键字: php</p><p>在Apache的配置文件httpd.conf中找到需要设置目录的Directory属性,并在Options一行去掉Indexes </p><p> 比如说: </p><pre class="brush:bash;toolbar:false"><Directory"d:\web">
OptionsIndexesFollowSymLinks
</Directory>
改为:
<Directory"d:\web">
OptionsFollowSymLinks
</Directory>
-----------------------------------------------------------------
Alias/edit/"/home/dbphp/db/"
<Directory"/home/dbphp/db">
OptionsIndexesMultiViews=>OptionsMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
</Directory></pre><p> 把Indexes去掉后,就不允许列表了。</p>