我的网站上有一个图片文件夹,让我们称之为/images/
我保留了很多图片。我不希望任何人通过网络直接访问图像,所以我在我的Apache配置中添加了一个新的指令来实现这一点:
<Directory "/var/www/images/">
Options Includes
AllowOverride All
Order allow,deny
Deny from All
</Directory>
这是有效的,但它阻止了所有访问,我无法通过我的网页显示图像。我想这是有道理的。那么如何有选择地控制对这些图像的访问?
基本上我只希望通过某些网页和某些用户显示某些图像。什么是最好的方法呢?我是否需要将图像保存到数据库中?
添
答案 0 :(得分:4)
这是需要在代码中完成的事情。您必须重写代码,以便某些用户代码将从本地磁盘读取图像(而不是将其作为html元素发送)并将其直接发送到html输出。下一个链接可能会提供有关如何执行此操作的一些信息:
How to retrieve image from server and display using json parsing?
http://www.codingforums.com/showthread.php?t=168935
答案 1 :(得分:0)
如果您想要授予对图像的访问权限,而不是直接从网络访问图像,您可以使用角色并为特定用户授予图像权限,并使用该用户去阅读图像,还需要包含一个索引文件,不允许用户列出目录中的所有图像。
使用chown
更改文件权限
答案 2 :(得分:0)
一个非常简单的替代方法是在 images 文件夹中添加空的 index.html 所以
http://example.com/images/my-picture.png
返回 my-picture.png
但是
http://example.com/images/
返回空白页!