0

我的网站通过包含“页面”目录 (PHP) 中的页面来工作,我想禁止访问该目录中的文件。但是,当我将 .htaccess 文件放在那里说:deny from all时,它禁止访问所有文件,而不仅仅是包含文件或使用样式表的请求。

当他们尝试像这样查看这些文件时,我还尝试将用户带到另一个页面:

RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]

RewriteCond %{THE_REQUEST} \.css[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]

RewriteCond %{THE_REQUEST} \.js[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]

这行得通,它只是不允许加载样式表/js。它确实让 PHP 文件被包含但不被查看,这很好,所以我可以保留这三个文件中的第三个。但是我的 css 文件包含有关我的文件结构的信息,我不想向黑客泄露这些信息。所以,我不希望这些公开。

无论如何......我的问题是:如果最后两个使它们仅在请求来自客户端时适用,我可以放在前面吗
IERewriteCond

RewriteCond %{THE_REQUEST} IS_COMING_FROM_A_CLIENT_OR_BROWSER
RewriteCond %{THE_REQUEST} \.css[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]

RewriteCond %{THE_REQUEST} IS_COMING_FROM_A_CLIENT_OR_BROWSER
RewriteCond %{THE_REQUEST} \.js[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]

PS如果可能的话,我宁愿不这样做,deny from all因为我在共享主机上,他们可能不喜欢那样做。

4

1 回答 1

0

检查 HTTP_REFERER 是否适用于 .js 和 .css 文件包含的 .php 页面以外的内容?

于 2013-02-20T03:47:16.383 回答