當前位置:首頁 » 密碼管理 » 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服務.再看 時應該看到會多一些東西

熱點內容
萬勝壓縮機價格 發布:2025-05-20 12:20:00 瀏覽:987
判斷雲伺服器是否誠實的存放數據 發布:2025-05-20 12:11:07 瀏覽:376
c語言基礎書 發布:2025-05-20 12:11:00 瀏覽:780
java小數正則表達式 發布:2025-05-20 11:30:58 瀏覽:136
文件夾加密win7 發布:2025-05-20 11:27:46 瀏覽:837
壓縮文件設置密碼有什麼意思 發布:2025-05-20 11:26:37 瀏覽:551
造夢西遊qq登錄如何修改密碼 發布:2025-05-20 11:18:36 瀏覽:382
淘寶緩存清理後還是大 發布:2025-05-20 11:15:39 瀏覽:149
ios雲存儲自動訂購 發布:2025-05-20 11:06:22 瀏覽:110
編程與數學 發布:2025-05-20 11:01:23 瀏覽:444