![]() |
1
1
您可以添加
注意:您需要使用readfile函数并按如下方式传输您的请求(对于大文件): https://www.media-division.com/the-right-way-to-handle-file-downloads-in-php/ 和; https://www.media-division.com/php-download-script-with-resume-option/ |
![]() |
2
1
不,从浏览器中找不到源链接,php脚本正在无意中发送输出远程文件内容,这正是
浏览器没有办法知道任何东西,用户只能对响应速度做一些计时分析,以知道文件是服务器本地的还是远程的,但不能超过这个(仍然不知道“远程”在哪里)。 |
![]() |
3
1
这个 manual page for readfile() 说(强调我的):
提及
这(和类似的问题)可以通过确保错误消息永远不会显示给用户来避免。通常包括设置
在任何情况下,受保护的下载通常使用受密码保护的位置和/或临时链接进行处理。代理服务器并没有隐藏这样一个事实:有一个开放的Internet服务器,可以免费下载文件。
注:
这个答案是在网络下载被使用的假设下写的,因为它是一个远程资源。使用http获取本地文件相当于在internet上共享桌面,用google chrome打开文件,而不是双击文件管理器。构建受保护的下载系统的正确方法是将文件移动到公共web服务器根目录之外,并提供
这样,意外暴露本地路径不是安全问题。但是,如前所述,这是另一个问题。 |