我有以下问题:
我有几个应该只对注册用户可见的图片库。
图像位于每个画廊的一个目录中,每个目录都有一个长而神秘的名称。
但是,如果您知道链接,则无需身份验证即可访问图像。
由于我在服务器端使用 PHP,一个简单的方法是使用 .htaccess 来“读取文件”,但我不想通过 php 传递数百个图像。
所以我尝试了一种不同的方法:我使用基本的 http 身份验证,使用动态生成的 .htpasswd 文件,其中包含每个登录用户的访问数据,该文件在 24 小时后和用户每次注销后重置,因此图像上的链接被破坏最大后。24 小时。
但我不希望用户为此身份验证输入神秘的、自动生成的用户名和密码,所以我使用这样的 url:
http://username:password@path-to-image
这在 chrome 中非常有效,但在 FF 中,当我想包含多个图像时,对于受保护的子目录,会出现输入用户名和密码的对话框。
一个例子:我有以下目录:
/gallery/one/
/gallery/two/
保护在 /gallery/ 的 .htaccess 文件中
有时 Firefox 仅从 /gallery/one/ 加载图像,有时仅从 /gallery/two/ 加载图像,有时这些都不加载,有时两者都加载。如果他没有加载其中至少一个,他会要求输入您的用户名和密码。
我无法解释这种行为,而且我还没有找到一种解决方案,可以让 FF 在不询问的情况下安全地接受多个带有用户名和密码的 url。
是否有解决此问题的方法,或者您有任何其他方法可以安全地保护服务器上的文件?提前致谢。
PS:我听说过 mod-xsendfile,但它无法安装在我的虚拟主机上。