[英]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.