php - 文件管理系统及其保护

标签 php mysql file

我想编写一个 PHP 服务器文件管理系统,但我不确定保护方面的情况如何。我的意思是每个用户都可以简单地在浏览器中输入用户将上传到服务器的文件的确切 URL,例如:htpp:///www.domain.com/files/user_name/file.doc。那些将要上传的文件非常脆弱,除了登录之外无法通过其他方式访问:x 我不知道如何进行这项工作

最佳答案

您可以将上传的文件保存在外部无法访问的目录中,并编写脚本来访问这些文件。

例如,在 apache2 配置中,您可以这样:
/var/www/html(从外部可用的目录)
/var/mydata(您要将上传的文件发送到的目录)

你可以有一个像这样的脚本:
/var/www/html/get_file.php

此脚本检查用户是否有权访问资源,然后强制下载 header 。
zip 文件示例:

$attachment_location = "/var/mydata/myfile.zip";
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: Binary");
header("Content-Length:".filesize($attachment_location));
header("Content-Disposition: attachment; filename=filePath");

关于php - 文件管理系统及其保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38944689/

相关文章:

php - 单击单选按钮时如何从 mysql 获取结果并使用 jquery 显示?

c# - 将应用程序作为 Windows 服务运行时程序集文件加载错误

mysql - 传递给 mysqldump.exe 的短参数与长参数

mysql - Kusto KQL 相当于带有值的 LIKE CONCAT 列 (mysql)

python - 获取文件中的格式化列表来列出 python

php - 用PHP添加Content-Security-Policy,为什么资源没有加载?

php - 我如何捕获 KILL 或 HUP 或用户中止信号?

javascript - 在服务器发送事件的情况下面对 Javascript 冒泡

python - 如何拆分特定范围内的列?

c - 如何将链表从一个文件传递到同一项目中的另一个文件?