【问题标题】:Allow access to protected file through PHP允许通过 PHP 访问受保护的文件
【发布时间】:2015-05-14 00:51:35
【问题描述】:

我在一个文件夹内有一组 tar.gz 文件,该文件夹可防止通过 .htaccess 进行 http 访问。我希望允许通过 http 直接 curl 下载这些文件。我通过将标题信息设置为以下内容对图像之类的内容进行了此操作:

$file='/some/file/protected/by/htaccess.png';
header("Content-type: image/png");
readfile($file);

我的问题: 有没有办法以与我处理图像类似的方式直接访问这些 tar.gz 文件?

我想这样做的原因是我想控制哪些用户可以通过我们网站的登录系统访问这些文件。

编辑:正如 Machavity 所指出的,我的代码指向一个 jpg,并且有一个 png 标题。

【问题讨论】:

  • 为什么不将可以访问此目录的用户 IP 列入白名单?还是用php实现?
  • 您正在调用 .jpg 文件,但正在发送 .png 的标头

标签: php curl header tar gzip


【解决方案1】:

对于tar.gz

$filename = 'path/to/your/file.tar.gz';
header('Content-Type: application/x-compressed');
header("Cache-Control: no-store, no-cache");
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
header('Content-Length: ' . filesize($filename));
readfile($filename);

【讨论】:

  • 看起来有效。澄清一下,访问包含上述代码的 url 将模拟在浏览器中访问实际的 tar.gz 文件本身,如果它不受 .htaccess 保护的话。对吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-26
  • 1970-01-01
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多