【问题标题】:Echo attachment download finder filerightsEcho 附件下载查找器文件权限
【发布时间】:2016-01-22 07:20:59
【问题描述】:

我有以下代码:

$thumb = file_get_contents( $thumb );
$thumb = str_replace( '#00FF00', '#' . $color, $thumb );

header( 'Pragma: public' ); 
header( 'Expires: 0' ); 
header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' ); 
header( 'Cache-Control: private', false );
header( 'Content-Type: image/svg+xml' );
header( 'Content-Disposition: attachment; filename="thumb.svg"' );
header( 'Content-Transfer-Encoding: binary' );

echo $thumb;

但是当文件被下载时,mac上的权限是这样的:我读&写,员工只有读,每个人都没有权限......是否可以更改它以使下载的文件具有这样的权限:我读&写,员工读和写,每个人都读和写?

【问题讨论】:

  • 您无法从远程网站控制本地文件的文件权限。那将是超级超级不安全的。浏览器发送文件,你的系统决定如何存储它。

标签: php macos download attachment finder


【解决方案1】:

注意事项

如果下载的文件可以自动具有读写访问权限,这将是一个重大的安全漏洞 - 特别是如果该选项由外部 Web 服务器决定。

最终,由您和您的系统设置决定如何存储文件。即使您在外部 Web 服务器上的代码可以更改它正在下载的文件的权限,我真的不建议您沿着这条路线走。


解决方案

如果您详细说明如何尝试使用这些文件,我可以为您提供更好的方法,我假设它可以通过您本地计算机上的应用程序或 Apache 进行编辑,因为您提到您正在寻求为每个人添加写入权限。

我将如何做到这一点(如果在基于 Mac 或 Linux 的机器上)将设置 cron task 以更改目录内所有文件的权限并将其设置为每隔一段时间重复一次。由于存在安全漏洞,我不建议这样做,但这将是一个解决方案。请参阅this example,了解如何在 Ubuntu 上设置 Cron 作业。

【讨论】:

  • 嗯好的。下载会生成一个 SVG 文件,我很确定我的系统不会为所有下载的 SVG 赋予该权利。我的脚本会生成一个 SVG 拇指,用于放置在 localhost 上的 Web 项目。但是有了这个权限,浏览器中不会显示拇指......所以我必须手动更改每个下载文件的权限。
猜你喜欢
  • 2019-04-10
  • 2019-09-03
  • 1970-01-01
  • 2014-01-18
  • 2016-01-30
  • 2013-09-03
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
相关资源
最近更新 更多