如何使用apache或.htaccess限制对某种内容的访问?

Hap*_*per 3 apache security .htaccess image static-content

我正在构建一个用户可以上传照片的网站,他们可以将它们标记为私有,因此没有人可以看到它们.

我知道如何在php中使用基于ACL的系统,但是如果他们有直接链接到图像文件,任何人仍然可以访问这些照片.

例如:用户1想要与用户2共享照片A,因此他授予他访问权限.用户2右键单击图像,并复制其URL,例如"http://example.com/private123.jpeg",并将其发送给用户3.现在,用户3可以看到他不应该看到的图像.

总而言之,我需要一种基于用户权限保护图像的方法,但仍然需要快速加载闪电(因此每次请求图像时运行php脚本都会被丢弃).

用apache可以吗?我想也许我可以在用户登录时设置一个cookie,让apache以某种方式检查.我不在乎cookie是否可以伪造,99,99 +%的用户不知道如何做到这一点,并且照片不需要更多的安全性.

Dav*_*lls 7

将所有图像保存在自己的目录中,并在该目录中放入一个.htaccess文件

RewriteEngine On
RewriteCond %{HTTP_COOKIE} !^.*name-of-my-cookie.*$ [NC]
RewriteRule .* /whatever/page [NC,L]
Run Code Online (Sandbox Code Playgroud)