如何保护图片内的上传文件夹从查看任何人除了管理员


how to protect images inside upload folder from viewing by anyone EXCEPT admin

好了,接下来是理想的(可能不可能的?)场景:

1)任何人都可以上传图片到文件夹

2)只有管理员,通过web管理界面/常规,密码保护的管理面板可以看到它

我想这是不可能的,除非我直接将图像存储到数据库(作为BLOB类型),并在管理面板内显示它们(这将降低性能,我猜)。

那么,我能做的是,A)除了在上传文件夹中放置空白索引文件(已经完成)但是我猜有办法猜/得到文件的名字

b),也许,添加一些。htaccess保护(你的建议是什么?)

再次,上传是表单的一部分(没有注册要求!),我需要一些方法,只允许管理员看到/下载图像,但要保护它从其他人,因为敏感数据是有问题的。

给你:

1)不要在数据库中存储文件。。

2)保护上传目录(只有上传的文件存在),使用。htaccess -"拒绝所有"(基本上)-或者将上传目录存储在网络上不公开的地方(见下面#3)

3)提供文件下载服务的临时文件(用户是否登录?如果是这样,将headers和readfile()设置为实际文件-这将强制下载文件。数据库应该存储文件名、路径和其他相关细节)

PHP上传脚本可以将文件保存到任何目录,甚至是包含。htaccess的目录

一旦表单被提交,你可以对上传的文件做任何你想做的事情。

你为什么不把图片存储在一个不能从网络访问的文件夹里,然后通过编程的方式提供从管理界面访问这些文件的权限?

您可以在上传后,使用管理员的公钥加密图像,因此只有管理员的私钥可以解密和查看。