[英]PHP script access a directory that is otherwise 'deny all' (Via .htaccess)
[英]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.