当前位置:首页 » 密码管理 » apache禁止访问根目录

apache禁止访问根目录

发布时间: 2022-09-08 10:49:25

Ⅰ 如何禁止apache访问除网站根目录外的文件

设置下apache的运行用户
设置下站点的目录权限

Ⅱ Apache2.4配置虚拟主机后却无法访问虚拟主机根目录下的文件

您好!从配置文件上来看暂无发现问题,这边也在linux系统下按照您的配置文件测试过没问题。请问您是使用纯Apache 2.4 Windows版本的 还是 用打包的集成软件(XAMPP或者phpstudy之类的)?
请确保您的网站根目录下有对应的默认首页文件,Apache中也设置了DirectoryIndex
或者将<Directory>中的部分改一改:
<Directory "D:\discuz">
Require all granted
</Directory>
因为您上面提到NameVirtualHost和Order Allow,Deny ... Allow from Deny from...这些都是旧版2.2的Apache语法。

Ⅲ apache目录访问控制的参数是哪些

1.根目录的访问控制

DocumentRoot "/var/www/html"

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

解释一下:
<Directory/>表示要对文件系统的目录进行限制
Options FollowSymLinks表示跟随符号链接,关于Option的值参下表

AllowOverrideNone表示不允许覆盖,AllowOverride的值参见下表,在此例中对根目录做了非常严格的限制,即只允许跟随符号链接,不允许其他文件覆盖当前的设置。
2.文档根目录的访问控制-----(针对文档根目录"/var/www/html"进行限制。)

<Directory "/var/www/html">
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>

解释一下:
OptionsIndexs
FollowSymLinks:设置允许跟随符号连接:Indexes的含义是如果要访问的文档不存在,则会显示出该目录下的文件目录清单。

AllowOverride
None:不允许覆盖当前设置,即不处理.htaccess文件。
Allow from all:允许从任何地点访问该目录
拓展一下(关于OrderAllow,Deny详解):
Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory,Location,
Files等),用来控制目录和文件的访问授权。

所以,最常用的是:
Order Deny,Allow
Allow from All


意“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。上面设定的含义是先设定“先检查禁止设定,没有禁止
的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访
问权。

按照上面的解释,下面的设定是无条件禁止访问:
Order Allow,Deny
Deny from All

如果要禁止部分内容的访问,其他的全部开放:
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2

apache
会按照order决定最后使用哪一条规则,比如上面的第二种方式,虽然第二句allow允许了访问,但由于在order中allow不是最后规则,因此还
需要看有没有deny规则,于是到了第三句,符合ip1和ip2的访问就被禁止了。注意,order决定的“最后”规则非常重要,下面是两个错误的例子和
改正方式:

Order
Deny,Allow
Allow from all
Deny from domain.org
错误:想禁止来自domain.org的访问,但是deny不是最后规则,apache在处理到第二句allow的时候就已经匹配成功,根本就不会去看第三句。
解决方法:Order Allow,Deny,后面两句不动,即可。

Order
Allow,Deny
Allow from ip1
Deny from all
错误:想只允许来自ip1的访问,但是,虽然第二句中设定了allow规则,由于order中deny在后,所以会以第三句deny为准,而第三句的范围中又明显包含了ip1(allinclude ip1),所以所有的访问都被禁止了。
解决方法一:直接去掉第三句。
解决方法二:
Order Deny,Allow
Deny from all
Allow from ip1

Ⅳ apache服务器为什么不能打开根目录中的文件夹链接

楼主说的是什么意思?要是你想在浏览器输入localhost就能打开网站的话,你需要在apache的配置文件里修改一个路径,apache-conf-httpd.conf然后查找documentroot那段话最下边有个路径,你把路径修改成你网站的根目录就行了,然后重启apache服务器,要是还有什么不会的就问我

Ⅳ 如何限制apache用户访问linux根目录

默认apache在当前目录下没有index.html入口就会显示目录。让目录暴露在外面是非常危险的事,如下操作禁止apache显示目录:
进入apache的配置文件
httpd.conf 找到:
Options Indexes FollowSymLinks
修改为:
Options
FollowSymLinks

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

Ⅵ apache 如何只能某用户启动,禁止访问根目录外的文件和如何隐藏版本号等敏感信息

默认apache在当前目录下没有index.html入口就会显示目录。让目录暴露在外面是非常危险的事,如下操作禁止apache显示目录:
进入apache的配置文件
httpd.conf 找到:
Options Indexes FollowSymLinks
修改为:
Options
FollowSymLinks

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

Ⅶ 请问用什么方法能禁止用户通过网址访问网站空间根目录文件夹!

你好,这是开启“浏览”权限的结果。如果你有服务器权限,在Apache里设置一下就可以了。不过你的免费空间,显然没有权限。
要显示根目录文件夹的前提是:1、开启“浏览”权限。2、没有找到默认首页。
根据前提,那么,我们只需要在那个文件夹里建立一个 “index.php” 或 "index.htm" 的文件(任意内容、空白的都可以)就行了。

Ⅷ apache 怎么禁止操作根目录以外的位置

用护卫神.防篡改系统(专业版),可以限制apache的访问轨迹。

Ⅸ apache无法访问网站根目录却能访问二级目录

先从网站上下载APACHE2.2.3 Mysql 5.0.22 PHP 5.2.0
假设:系统盘为 c:/
假设:安装好后目录状态会是这样子:
apache--> C:\Program Files\Apache Software Foundation\Apache2.2
mysql-->C:\Program Files\MySQL\MySQL Server 5.0
php--> c:/php

准备工作:
安装之前需要检查80端口、3306端口是否被其它程序占用,如果有,则需要删除相应的软件
-------------------------------------
第一步安装mysql
解 开压缩包,执行安装文件,大部分只需要按照缺省路径和安装提示进行安装就可以了,需要注意就是不能选择匿名用户,同时需要把mysql的路径加入系统的 Path路径中。安装结束后,需要重新启动计算机。重启计算机后,检查[控制面板]-[管理工具]-[服务],确定里面的mysql服务是否启动,如果没 有,则启动mysql服务。
注意:快捷方式里面的mysql登录端,是直接以root用户登录进去的,提示的密码是root用户的密码。你可以在此root用户的状态下,创建用户的数据库和新的用户。
命令如下:
CREATE DATABASE gc0100; //创建数据库
GRANT ALL PRIVILEGES ON gc0100.* to gc0100@localhost IDENTIFIED BY 'gc0100';//创建本地用户
GRANT ALL PRIVILEGES ON gc0100.* to gc0100@"%" IDENTIFIED BY 'gc0100';//创建远程用户
然后可以在[开始]->[运行],输入cmd
然后执行命令:
mysql –u 用户名 –p 访问的数据库
随后将提示输入相应用户的密码。
-----------------------------------
第二步: 安装apache 并配置支持PHP
双击安装文件apache_2.2.3-win32-x86-no_ssl.msi,按照缺省路径和提示安装就可以了。缺省将安装在C:\Program Files\Apache Software Foundation\Apache2.2下。
还会有输入框,提示输入域名呀管理员信箱,随便填就是了.
+----------------------------------------
| 注: 安装完后会自动安装并启动apache的服务,如在此处出现问题:
|“(OS 10048)通常每个套接字地址 (协议/网络地址/端口) 只允许使用一次:
| make_sock: could not bind to address 0.0.0.0:80...” 一般是IIS占用了80端口引起的
| 解决方法: 打开控制面板->服务找到 IIS admin 的服务关闭并禁用
| 然后用CMD进入命令行模式进入你安装apache的目录 /apache2/bin
+----------------------------------------
启动Apache,只需要在Apache的快捷功能中,进行启动就可以了。
随后在IE里面测试apache是否成功,输入
如果出现 It works!则表示apache安装成功。
------------------------------------
PHP的安装
将php-5.2.0-Win32.zip 里内容解压到 c:\php里
找 到 php目录里的 php.ini-dist (似乎这是一个习惯,其实我更喜欢用php.ini-recommended)重命名为 php.ini 并拷到 windows系统目录下(特殊情况:win2k系统目录为c:\winnt, Windows XP 则为 c:\windows目录。再将php目录里的所有动态库(*.dll)拷贝到system32目录下(win2k为c:\winnt\ system32,windows xp则为c:\windows\system32)最后到c:\php\ext下将php_gd2.dll php_mysql.dll这两个文件复制到system32目录下(同上)
---------------------------------
配置apache里的httpd.conf
用notepad打开C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf文件
找到 AddDefaultCharset ISO-8859-1 将其改为
AddDefaultCharset GB2312(让默认语言编码为简体中文)
找到 DocumentRoot " C:\Program Files\Apache Software Foundation\Apache2.2\htdocs" 将其改为你的WEB目录,
如: DocumentRoot "D:/www"
找到 DirectoryIndex index.html index.html.var 在后面加入index.htm index.php (默认index.php为首页文件)--------------模块化安装PHP-----------------------
找到 #LoadMole ssl_mole moles/mod_ssl.so 这行,在此行后加入一行
LoadMole php5_mole c:/php/php5apache2.dll(**错误**)
修改为:LoadMole php5_mole “c:/php/php5apache2_2.dll”
原因: php5apache2.dll 只支持apache 2.0的版本,不能支持apache 2.2以上版本,因为我们最新的apache的版本是2.2.3
所以必须用新版本的动态库php5apache2_2.dll,不能用老版本的动态库。但是如果你安装的apache是2.0的版本,则只需要使用老版本的动态库就可以了,即php5apache2.dll
其中c:/php/php5apache2.dll(php5apache2_2.dll) 为你php目录中php5apache2.dll(php5apache2_2.dll)所在的位置
再找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行
AddType application/x-httpd-php .php
(其实:上面两行红色的,你可以直接加在httpd.conf文件的最后面也可以的)
------------------------------------------
此时PHP环境基本已经配置成功
在WEB根目录(如我的D:\php\www)里建一个名为test.php (提示:用记事本的朋友,请避免文件为test.php.txt) ,的文件内容如下PHP代码:
<? echo phpinfo(); ?>
重新启动apache服务
用浏览器打开
如果可以看到php配置输出信息就OK了
(如果看到的是下载页面或者<? echo phpinfo(); ?>,请查查你所做的与上面是否有错漏)
---------------------------------------
三、配置php.ini并测试mysql、GD2(php.ini为 c:\windows下的 php.ini)找到
;extension=php_mysql.dll
将';'去掉改为
.extension=php_mysql.dll
找到
;extension=php_gd2.dll 去掉前面的;
以便支持GD库.如
extension=php_gd2.dll
找到
;session.save_path = "/tmp"
将';'去掉.设置你保存session的目录,如
session.save_path = "C:\WINDOWS\Temp";(windows xp)
session.save_path = "C:\winnt\Temp";(Windows 2000)
--------------------------------
重启apache服务
在Web根目录下(如 D:\php\www)建立testdb.php文件内容如下:
PHP代码:
<?php
$link=mysql_connect('localhost','root','123456'); //这里的root和123456是MYSQL的用户和密码,请根据你自己的情况改好
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
用浏览器打开 如果输出success就OK了
---------------------------------
四、phpmyadmin的安装配置
将phpMyAdmin-2.6.1.zip解压到WEB根目录(d:\php\www\中去),重命名文件夹为phpmyadmin或其它打开phpmyadmin 目录中的 config.inc.php
找到以下这些(以下我已改好):
$cfg['PmaAbsoluteUri'] = ''; //假设是有域名的服务器,可改成域名/phpmyadmin
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'easy; //分别填上你mysql的用户和密码即可
$cfg['Servers'][$i]['auth_type'] = 'http'; // 这里也可以改为cookie
改好了保存,在浏览器打开 输入你的用户名和密码,便可以管理mysql了差不多了,如果你想让你的PHP代码执行得更快,就再装个Zend Optimizer.
可到下载
方法是:下载后双击,选择路径安装.问PHP.INI路径就填 c:/windows
装好重启apache服务.再看 时应该看到会多一些东西

热点内容
备份软件ftp 发布:2025-05-20 18:34:55 浏览:322
宅基地7解压 发布:2025-05-20 18:34:54 浏览:370
算法应用化 发布:2025-05-20 18:21:11 浏览:774
安卓手机上的日历怎么显示节假日 发布:2025-05-20 18:07:06 浏览:368
手机安卓音浪变小如何复原 发布:2025-05-20 18:04:44 浏览:166
phpcmd执行 发布:2025-05-20 18:04:31 浏览:780
网络机顶盒缓存清理 发布:2025-05-20 18:03:18 浏览:498
奶粉安佳美可卓哪个好 发布:2025-05-20 18:03:10 浏览:504
java编译程序包不存在 发布:2025-05-20 18:00:58 浏览:93
压缩青贮草 发布:2025-05-20 18:00:55 浏览:157