簡體   English   中英

使用.htaccess拒絕訪問目錄中的所有PHP文件

[英]Deny access to all PHP files in a directory using .htaccess

我試圖拒絕任何在特定目錄中瀏覽PHP文件的人訪問:

example.com/inc/

我創建了一個帶有以下內容的example.com/inc/.htaccess文件:

Order deny,allow
Deny from all

當我嘗試訪問其中一個文件時,這會導致403 Forbidden響應。 例如:example.com/inc/file.php

問題是,我的Web服務器也被拒絕訪問,我的應用程序停止工作。

我如何拒絕訪問沖浪這些PHP文件的人,但允許我的共享Web服務器訪問?

注意:我正在使用GoDaddy共享主機。

我只會使用規則並阻止用戶輸入的訪問權限。 這將阻止輸入的任何php文件。

RewriteEngine On
RewriteRule ^.*\.php$ - [F,L,NC]

根據您的評論進行修改。 試試這種方式。

<Files (file|class)\.php>
order allow,deny
deny from all
allow from 127.0.0.1
allow from 192.168.0.1
</Files>

將192.168.0.1替換為您的服務器IP地址。

使用正確的目錄結構將您的文件放到lib /目錄中,並將其包含在此目錄中不存在的文件中。 這是常見框架的工作原理。

您甚至可以將您的URL映射到web /目錄並將lib放在一個目錄中,然后您確定無法訪問您的.php文件,只能訪問index.php和assets。

您可以閱讀它是如何解決的,例如在Symfony2 http://symfony.com/doc/current/quick_tour/the_architecture.html中它會給你一些線索。

要阻止對以.php結尾的所有文件的導航訪問,您可以使用:

RedirectMatch 403 ^.*\.php$

要僅拒絕訪問php文件,您可以使用:

<Files *.php>
order allow,deny
deny from all
</Files>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM