簡體   English   中英

htaccess防止用戶訪問文件

[英]htaccess securing files from being accessed by users

因此,我敢肯定,這個問題在這里被問了很多,但是經過20分鍾的搜索,我仍然找不到能產生正確結果的任何問題。

我有/index.php/dashboard.php等文件,這些文件使用了/framework/assets/stylesheets/index.css等資源文件。我想做的是阻止對/framework/任何文件的訪問。 /framework/目錄,但仍允許使用index.php和其他相應文件中的文件。 如何配置.htaccess文件以允許我執行此操作?

我了解這可能無法實現,但是目錄/framework/是否有任何方式可以隱藏用戶的某些PHP文件,但仍然可以使用include 'file.php'通過其他PHP腳本進行訪問?

任何幫助將不勝感激。 謝謝。

由於您只想在運行特定的php腳本時使用css文件,因此可以在php中使用include指令並將其嵌入到其他html中。

像這樣:

//...
<head>
    <style>
    <?php
        include("/framework/assets/stylesheets/index.css");
    ?>
    </style>
//...
</head>
//...

php文件不受htaccess的限制,您將其包含在服務器端,並僅向客戶端提供所需的內容。

您不應阻止對CSS和JavaScript文件的訪問。 如果這樣做,則意味着您網站的設計將被破壞。 對於包含文件,請嘗試以下規則。 將具有以下規則的.htaccess文件放在要禁止訪問的include目錄中。 這些規則僅允許對目錄中包含的文件進行$_POST請求,並且您可以將一個文件包含到另一個文件中,從而限制對該文件的直接訪問。

<LimitExcept POST>
order deny,allow
deny from all
</LimitExcept>

如Magnus Eriksson對原始問題的評論中所述,要實現我想要的CSS文件,JS文件和其他資源文件的效果是無法實現的,因為這些文件是直接由HTML提取的,並且因此使用http請求。

但是,可以通過將.htaccess文件放在/framework/目錄中來保護PHP文件,該文件的內容為:

deny from all

要授予對/framework/assets/資源的訪問權限,需要做的就是添加另一個.htaccess文件,並allow from all寫入allow from all內容。

簡單回答一個簡單的問題。

進一步使用的文檔: https : //httpd.apache.org/docs/2.2/howto/access.html

暫無
暫無

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

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