2012-08-14 65 views
0

可能重复:
How to stop Apache from listing the contents of my user directories网页设计的图像文件夹的访问

我工作的一个博客,我成功地把我上传的图片的文件路径到SQL数据库。图像本身存储在img文件夹内。我希望用户能够使用主键和自己的博客页面检索自己的图像。另一方面,如果你到我的网站后跟/ img中的url,任何用户都可以公开查看所有其他用户的图片。

有什么办法可以防止任何人搞乱或公开查看我的/ img文件夹,而登录的普通用户仍然可以通过sql filepath过程在自己的博客页面上检索自己的图片吗?

回答

0

创建.htaccess文件,并添加:

Options -Indexes 

它将阻止所有索引所有文件夹中。

1

你可以把文件放在公共文件夹下,这意味着在根目录下,然后根据它们的id使用php包装来调用它们。例如:<img src="img/img.php?id=ac34" />在您的img.php中,如果用户有权查看该图像,则可以使用图像标头输出图像。在你的数据库表中,你有与你的ac34标记对应的真实图像路径,这就是你的img.php加载并输出为请求者的图像。通过这种方式,服务器文件的真实路径保持隐藏状态,您可以检查每个图像加载的访问权限。