htaccess保护文件不被用户访问

时间:2015-12-02 19:33:52

标签: php css .htaccess

所以,我确定这个问题在这里得到了很多询问,但经过20分钟的搜索,我找不到任何可以产生正确结果的问题。

我有/index.php/dashboard.php等使用资源文件的文件,例如/framework/assets/stylesheets/index.css等。我想要阻止访问/framework/中的任何文件{1}}目录,但仍允许从index.php和其他相应文件中使用它们。如何配置我的.htaccess文件以允许我这样做?

我知道这可能是不可能的,但有没有办法将包含一些PHP文件的目录/framework/从用户隐藏,但仍允许使用{{1通过其他PHP脚本访问}}?

非常感谢任何帮助。感谢。

3 个答案:

答案 0 :(得分:1)

由于您希望css文件仅在运行特定php脚本时可用,因此您可以在php中使用include指令并将其嵌入到其他html中。

这样的事情:

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

php-files不受htaccess的限制,你将其包含在服务器端,只提供你想要的东西给客户。

答案 1 :(得分:1)

您不应该阻止访问CSS和JavaScript文件。如果您这样做,则意味着您网站的设计将会中断。对于包含文件,请尝试以下规则。将包含以下规则的.htaccess文件放在要禁止访问的包含目录中。这些规则仅允许对目录中包含的文件发出$_POST个请求,并且您可以将一个文件包含在另一个文件中,从而限制对该包含文件的直接访问。

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

答案 2 :(得分:0)

正如Magnus Eriksson对原始问题的评论所述,要实现我想要的CSS文件,JS文件和其他资源文件的效果是无法完成的,因为这些文件是由HTML,因此使用http请求。

但是,通过将.htaccess文件放在/framework/目录中,其内容为:

,可以保护PHP文件。
deny from all

要授予/framework/assets/中资源的访问权限,所有需要做的就是添加另一个.htaccess文件,其中写有allow from all

简单回答一个简单的问题。

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

相关问题