好的,希望(可能不可能?)场景是下一个:
1)任何人都可以将图像上传到文件夹
2)只有管理员,通过网络管理界面/常规,受密码保护的管理面板才能看到它
我想这是不可能的,除非我直接将图像存储到数据库(作为BLOB类型),并在管理面板中显示它们(这会降低性能,我猜)。
所以,我能做什么, a)除了将空白索引文件放在上传文件夹中(已经完成) 但我想有办法猜测/获取文件名
b)也许,添加一些.htaccess保护(你的建议是什么?)
同样,上传是表单的一部分(不需要注册!),我需要一些方法只允许管理员查看/下载图像,但要保护其他图像,因为敏感数据存在问题。
答案 0 :(得分:2)
你走了:
1)不要在您的数据库中存储文件。如初。
2)使用.htaccess - “拒绝所有”(基本上)保护上传目录(仅限上传的文件) - 或将上传目录存储在不公开的网页上(见下面的#3)
3)有一个提供文件下载的临时文件(用户是否登录?如果是,请设置标题和readfile()
实际文件 - 这将强制文件下载。数据库应存储文件名,路径和其他相关细节)
PHP上传脚本可以将文件保存在任何目录中,即使是包含.htaccess的目录。
答案 1 :(得分:1)
提交表单后,您可以使用上传的文件执行任何操作。
为什么不将图像存储在无法从Web访问的文件夹中,然后以编程方式从管理界面提供对这些文件的访问?
答案 2 :(得分:1)
您可以在上传后使用管理员的公钥加密图像,因此只有管理员的私钥才能解密和查看。