[英]Deny access to one specific folder in .htaccess
我試圖通過操縱 URL 來拒絕用戶訪問site/includes
文件夾。
我不知道我是否必須拒絕所有內容並手動設置個別例外以允許,我是否可以拒絕這個文件夾,或者是否有可以使用的重寫功能。
具體示例:我不想通過在 URL 中鍵入localhost/site/includes
來查看目錄文件。
創建site/includes/.htaccess
文件並添加以下行:
Deny from all
您還可以使用RedirectMatch
拒絕訪問文件夾
將以下行添加到 htaccess
RedirectMatch 403 ^/folder/?$
這將為文件夾返回403 forbidden
錯誤,即: http://example.com/folder/
: http://example.com/folder/
但它不會阻止訪問該文件夾內的文件和文件夾,如果您想阻止文件夾內的所有內容,則只需更改正則表達式模式到^/folder/.*$
。
另一個選項是mod-rewrite
如果啟用了url-rewrting-module
,您可以在root/.htaccss
使用類似以下root/.htaccss
:
RewriteEngine on
RewriteRule ^folder/?$ - [F,L]
這將在內部將對該folder
的請求映射到forbidden
錯誤頁面。
在.htaccess
文件中,您需要使用
Deny from all
把它放在site/includes/.htaccess
以使其特定於includes
目錄
如果您只想禁止列出可以使用的目錄文件
Options -Indexes
我們將目錄設置為非常安全,拒絕所有文件類型的訪問。 下面是您要插入到 .htaccess 文件中的代碼。
Order Allow,Deny
Deny from all
由於我們現在已經設置了安全性,我們現在希望允許訪問我們想要的文件類型。 為此,請將以下代碼添加到剛剛插入的安全代碼下的 .htaccess 文件中。
<FilesMatch "\.(jpg|gif|png|php)$">
Order Deny,Allow
Allow from all
</FilesMatch>
你最終的.htaccess
文件看起來像
Order Allow,Deny
Deny from all
<FilesMatch "\.(jpg|gif|png|php)$">
Order Deny,Allow
Allow from all
</FilesMatch>
您可以為該文件夾創建一個 .htaccess 文件,該文件應該拒絕訪問
Deny from all
或者您可以重定向到自定義 404 頁面
Redirect /includes/ 404.html
只需將 .htaccess 放入您要限制的文件夾中
## no access to this folder
# Apache 2.4
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
# Apache 2.2
<IfModule !mod_authz_core.c>
Order Allow,Deny
Deny from all
</IfModule>
來源: MantisBT來源。
創建 index.php、index.html、index.htm 是不安全的。 因為,任何人都可以通過猜測文件名來訪問您指定目錄中的文件。 例如:http: //yoursite.com/includes/file.dat因此,推薦的方法是創建一個 .htaccess 文件來拒絕所有訪問者;)。 玩得開心!!
您還可以將此IndexIgnore *
放在根 .htaccess 文件中,以禁用所有網站目錄(包括子目錄)的文件列表
您可以通過這種方式動態執行此操作:
mkdir($dirname);
@touch($dirname . "/.htaccess");
$f = fopen($dirname . "/.htaccess", "w");
fwrite($f, "deny from all");
fclose($f);
在 Apache 2.4 上,您可以在根.htaccess
文件中使用 Apache <If>
表達式來阻止直接訪問此特定子目錄及其中的所有內容。
例如:
<If "%{REQUEST_URI} =~ m#^/site/includes($|/)#">
Require all denied
</If>
由於某些我不明白的原因,創建文件夾/.htaccess 並從所有添加拒絕對我不起作用。 我不知道為什么,這看起來很簡單但不起作用,將 RedirectMatch 403 ^/folder/.*$ 添加到根 htaccess 反而起作用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.