如何从受保护的文件夹中使用PHP和AJAX提供安全的文件下载?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从受保护的文件夹中使用PHP和AJAX提供安全的文件下载?相关的知识,希望对你有一定的参考价值。

我目前正在为我的页面使用php编写文件下载。我设法将文件上传到由.htaccess文件保护的文件夹中:

deny from all

因此,当我尝试在浏览器中读取文件时,出现以下错误:

enter image description here

到目前为止还不错,但现在我想通过AJAX请求执行的下载按钮提供下载功能:

$("#storage-download-btn").click(function() 
  let data = 
    action: "download_from_storage",
    selected_storage_files: getSelectedStorageFiles()
  ;

  $.post(ajax_url, data, function() ).success(function() ).fail(function(response) );
);

当我按下下载按钮时,请求有效,但据我所知,我无法通过AJAX提供任何文件。因此,有谁知道我如何通过阻止.htaccess文件中的所有其他请求来允许此单个请求?

答案

删除htacess并将文件的权限更改为770,该用户和组可以访问该文件,但不能按世界访问,通过将此设置为可以通过php访问该文件,而不能通过直接url访问,

此后,如@vidal所说,仅使用会话和php文件来提供文件下载

以上是关于如何从受保护的文件夹中使用PHP和AJAX提供安全的文件下载?的主要内容,如果未能解决你的问题,请参考以下文章

从受保护的未选中字段中获取虚拟字段

如何保护 PHP/JQuery/Ajax 调用?

VBA WinHTTP 从受密码保护的 https 网站下载文件

如何从受 CMEK(客户管理的密钥)保护的 BigQuery 表在 Tableau 中创建数据源?

R从受密码保护的网站截图

从受 SSL 保护的 HTTPS React JS Web 应用程序连接本地连接的打印机