0

可能重复:
如何阻止 Apache 列出我的用户目录的内容

我正在写一个博客,我成功地将我上传的图像的文件路径放入了一个 sql 数据库。图像本身存储在 img 文件夹中。我希望用户能够使用主键在他们自己的博客页面上检索他们自己的图像,并且该主键有效。

另一方面,如果您访问我的网站,然后在 url 中添加 /img,则任何用户都可以公开查看所有其他用户的图片。

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

4

2 回答 2

1

您可以将文件放在公共文件夹下,即根目录下,然后根据它们的 id 使用 php 包装器调用它们。类似于:<img src="img/img.php?id=ac34" />在您的 img.php 中,如果用户有权查看图像,则输出带有图像标题的图像。在您的数据库表中,您拥有与您的 ac34 令牌相对应的真实图像路径,这就是您的 img.php 加载并作为图像输出给请求者的内容。这样,您的服务器文件的真实路径就会隐藏起来,您可以检查每个图像加载的访问权限。

于 2012-08-14T19:07:19.550 回答
0

创建.htaccess文件并添加:

Options -Indexes

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

于 2012-08-14T18:35:28.807 回答