拒绝使用 htaccess 直接访问文件

     2023-02-24     40

关键词:

【中文标题】拒绝使用 htaccess 直接访问文件【英文标题】:Deny direct access to files using htaccess 【发布时间】:2014-05-11 20:19:02 【问题描述】:

我的网站中有以下目录结构,

/public_html
/public_html/admin/
/public_html/admin/js/
/public_html/admin/css/ ....

基本上我想禁止所有直接访问 /admin 子文件夹内的文件,比如不允许直接访问 /js/ 文件夹内的 js,但允许它从我的 php 页面访问

我在 /js/ 文件夹中添加了带有以下代码的 .htaccess 文件,

Order deny,allow
Deny from all

所以不让我直接通过浏览器访问就好了!

但是当我尝试访问 index.php 页面,其中 /js/ 文件夹的文件包含在标签中时,它没有加载。

那么谁能帮帮我!

提前致谢。

【问题讨论】:

【参考方案1】:

您不是“从您的 PHP 页面”访问它。 Web 服务器要么正在服务请求,要么不服务。当您在浏览器中加载“PHP 页面”时,浏览器会发出请求并从您的页面中请求链接到的所有 Javascript、CSS 和图像资源。其中每一个都是对 Web 服务器的单独 HTTP 请求。 Web 服务器没有上下文表明此 HTTP 请求是因为资产是从“您的 PHP 页面”链接到的,这与它完全无关。您可以使用 HTTP 请求从服务器获取文件,也可以不获取。而通过设置Deny from all,你不能。

您必须通过一个 PHP 文件汇集所有请求,该文件会检查登录信息,并且仅在用户正确登录时才提供该文件。例如链接到scripts.php?file=js/myscript.js 并在scripts.php 中有身份验证检查代码。

【讨论】:

如果您有 cookie 令牌存在测试 + myscript.js 请求;您可以避免 php 处理并让 apache 路由请求 当然可以,但是因为我猜您想针对 PHP 会话进行验证,所以您需要调用 PHP。仅仅测试 some cookie 的存在而不验证它是一个有效的会话并不是真正的保护。【参考方案2】:

当您像这样限制文件夹时,您不能将其中的文件包含在 HTML 页面中。与人通过 URL 直接访问 JS 基本相同的请求。

【讨论】:

【参考方案3】:

通常是 cpanel 之类的工具

    盗链保护

    Hotlink protection prevents other websites from directly linking to files (as specified below) on your website. Other sites will still be able to link to any file type that you don't specify below (i.e., HTML files). An example of hotlinking would be using an <img> tag to display an image from your site somewhere else on the Web. The end result is that the other site is stealing your bandwidth.

    索引管理器

    The Index Manager allows you to customize the way a directory will be viewed on the web. You can select between a default style, no indexes, or two types of indexing. If you do not wish for people to be able to see the files in your directory, choose "No Indexing".

1&2 是来自通常托管 cpanel 的工具。可能它会覆盖 apache conf 文件(不确定是哪些)

但是,您还应该注意 HTTP 引荐来源网址。您可以据此决定何时不展示您的资源。

`HTTP referer is an HTTP header field that identifies the address of the webpage (i.e. the URI or IRI) that linked to the resource being requested`

【讨论】:

拒绝直接访问文件,但允许 htaccess 中的查询字符串

】拒绝直接访问文件,但允许htaccess中的查询字符串【英文标题】:Denydirectaccesstofilesbutallowquerystringsinhtaccess【发布时间】:2013-05-1411:21:29【问题描述】:所以我浏览了所有的htaccess解决方案,但没有一个适合我的场景......基本上... 查看详情

使用 .htaccess 拒绝访问目录中的所有 PHP 文件

】使用.htaccess拒绝访问目录中的所有PHP文件【英文标题】:DenyaccesstoallPHPfilesinadirectoryusing.htaccess【发布时间】:2015-07-3005:07:37【问题描述】:我正在尝试拒绝任何在特定目录中浏览PHP文件的人的访问:example.com/inc/我创建了一个... 查看详情

.htaccess 拒绝访问图像文件夹,但允许访问查看单个图像

】.htaccess拒绝访问图像文件夹,但允许访问查看单个图像【英文标题】:.htaccessDenyaccestotheimagefolder,butallowaccestoviewsingleimages【发布时间】:2016-10-3120:16:46【问题描述】:我可以配置一个拒绝直接访问“/images”但必须允许“/images/... 查看详情

.htaccess 拒绝目录访问

】.htaccess拒绝目录访问【英文标题】:.htaccesstodenydirectoryaccess【发布时间】:2017-03-1713:58:36【问题描述】:我正在尝试限制对我根目录中的目录的访问,以便其他人无法直接在浏览器中访问这些目录中的文件。我现在遇到的问题... 查看详情

使用 htaccess 拒绝访问除少数文件夹外的所有文件夹

】使用htaccess拒绝访问除少数文件夹外的所有文件夹【英文标题】:Denyaccesstoallfoldersexceptafewonesusinghtaccess【发布时间】:2013-07-2521:50:45【问题描述】:我的webproject存储在/var/www/vhosts/domain.tld/httpdocs/中我将在下面列出的HTACCES文件... 查看详情

拒绝访问 .htaccess 中的一个特定文件夹

】拒绝访问.htaccess中的一个特定文件夹【英文标题】:Denyaccesstoonespecificfolderin.htaccess【发布时间】:2013-10-0717:57:46【问题描述】:我试图通过操纵URL来拒绝用户访问site/includes文件夹。我不知道我是否必须拒绝所有内容并手动设... 查看详情

如何拒绝访问 .htaccess 中的文件

】如何拒绝访问.htaccess中的文件【英文标题】:Howtodenyaccesstoafilein.htaccess【发布时间】:2012-07-2813:29:45【问题描述】:我有以下.htaccess文件:RewriteEngineOnRewriteBase/#Protectthehtaccessfile<Files.htaccess>OrderAllow,DenyDenyfromall</Files> 查看详情

拒绝访问 htaccess 中的多个文件

】拒绝访问htaccess中的多个文件【英文标题】:Denyaccesstomultiplefilesinhtaccess【发布时间】:2012-09-2323:07:40【问题描述】:我想通过htaccess拒绝多个文件。<FilesMatch(profile|reg|register|..............|)\\.php>orderallow,denydenyfromall</FilesMatc... 查看详情

服务器无法读取 htaccess 文件,拒绝访问是安全的

】服务器无法读取htaccess文件,拒绝访问是安全的【英文标题】:Serverunabletoreadhtaccessfile,denyingaccesstobesafe【发布时间】:2015-09-3016:35:11【问题描述】:我使用AngularJS创建了一个简单的应用程序。当我尝试在我的网站http://demo.gaurab... 查看详情

Apache 2.4 .htaccess 文件不拒绝访问

】Apache2.4.htaccess文件不拒绝访问【英文标题】:Apache2.4.htaccessfiledoesn\'tdenyaccess【发布时间】:2014-03-2506:52:24【问题描述】:我用不同的方法尝试了很多次,但我仍然无法拒绝通过.htaccess访问文件夹。这是我尝试过的:RewriteEngineO... 查看详情

防止使用 .htaccess 直接访问公用文件夹中的文件夹不起作用

】防止使用.htaccess直接访问公用文件夹中的文件夹不起作用【英文标题】:Preventionofdirectaccesstofolderwithinpublicfolderusing.htaccessnotworking【发布时间】:2012-08-0808:16:48【问题描述】:我有一个文件夹位于公用文件夹中,我试图阻止用... 查看详情

.htaccess 拒绝所有-> 目录索引不起作用(拒绝所有和白名单文件)

】.htaccess拒绝所有->目录索引不起作用(拒绝所有和白名单文件)【英文标题】:.htaccessdenyall-->directoryindexnotworking(denyall&whitelistingfiles)【发布时间】:2011-11-3013:23:26【问题描述】:我想拒绝访问服务器上的所有文件和目... 查看详情

PHP强制下载,htaccess拒绝所有,无法读取文件头

】PHP强制下载,htaccess拒绝所有,无法读取文件头【英文标题】:PHPforcedownload,htaccessdenyall,cantreadfileheader【发布时间】:2013-08-2311:47:20【问题描述】:我想从.htaccess保护正常访问的文件夹中下载文件。我找到了很多教程,但没有... 查看详情

拒绝使用 htaccess 列出目录

】拒绝使用htaccess列出目录【英文标题】:denydirectorylistingwithhtaccess【发布时间】:2011-08-2110:01:17【问题描述】:我有一个文件夹,例如:/public_html/Davood/并且文件夹中的子文件夹太多,例如:/public_html/Davood/Test1/,/public_html/Davood... 查看详情

.htaccess 拒绝所有人

】.htaccess拒绝所有人【英文标题】:.htaccessdenyfromall【发布时间】:2012-03-1910:36:37【问题描述】:我复制了一个旧应用程序并将其重命名为New_application。我想访问New_application文件夹中的.htaccess文件。当我用文本编辑器打开它时,... 查看详情

停止直接访问 (.htaccess) 并允许 ajax 请求到子文件夹

】停止直接访问(.htaccess)并允许ajax请求到子文件夹【英文标题】:stopdirectaccess(.htaccess)andallowajaxrequesttosubfolder【发布时间】:2014-01-3117:14:02【问题描述】:我试图停止直接访问子目录和子目录中的php文件。我已将以下代码添加到... 查看详情

.htaccess : 理解拒绝、允许和允许、拒绝的使用

】.htaccess:理解拒绝、允许和允许、拒绝的使用【英文标题】:.htaccess:understandinguseofdeny,allowandallow,deny【发布时间】:2014-09-0321:55:59【问题描述】:我试图通过一个简短的测试示例来了解orderdeny,allow语句对我到目前为止所读内容... 查看详情

拒绝直接访问 sitemap.xml(仅允许搜索机器人)

...,只允许已知的机器人访问站点地图,你能帮我用一些.htaccess规则吗?【问题讨论】:【参考方案1】:您可以添加一个规则 查看详情